PostgreSQL 数据类型及语句-IDENTITY 的 integer 与 serial 有什么区别?

作者:vkvi 来源:ITPOW(原创) 日期:2021-3-4

我们在设置一个表时,通常有一个自增长的 id 字段。

如何设置这个自增长的 id 字段,在 Postgresql 中有两种方法:

法一、设置 integer 类型,然后设置 IDENTITY(标识)

如下图,先设置 integer,再点击左边“编辑”图标,展开更多:

PostgreSQL IDENTITY

然后切换到“Constraints”,选择“IDENTITY”,如下图:

PostgreSQL IDENTITY

法二、直接设置 serial 类型

其实直接设置 serial 类型后,最终 Postgresql 也是将其转换成 integer 类型,不过,对实现自增长的方式有所不同。

当我们保存后,再次打开,看到是这样的:

PostgreSQL serial

可以看出:它实现自增长的方式是通过设置默认值nextval('表名_字段名_seq'::regclass)

可以看出:IDENTITY 设置更灵活,比如可以设置:一次增长不是 1,而是增长 2。(不过似乎也没啥意义)。

相关文章