Skip to content

自动增长

在PostgreSQL数据库中,设置自动增长的数据类型为“smallserial”、“serial”、“bigserial”,在插入数据时,自增字段自动生成自增值。与PostgreSQL数据库对应,在虚谷数据库中,使用“IDENTITY”设置自动增长。

自动增长使用规则区别如表1所示。

属性PostgreSQLXugu
关键字smallserial、serial、bigserial IDENTITY
数据类型整型整型
要求
使用场景自动增长字段插入DEFAULT或在插入时省略该字段自动增长字段插入DEFAULT或在插入时省略该字段
起始值固定为1可设置范围 [1,数据类型最大值]
增长步长固定为1可设置范围【1,数据类型最大值】
插入值≤自动增长值自动增长无影响自动增长无影响
删除数据自动增长无影响自动增长无影响
删除自增X
添加自增X
自增循环
  • PostgreSQL自动增长(起始值:字段最大值,默认增长步长为1)
    SQL> Create Table my_auto(
                a smallserial,
            b serial,
            c bigserial,
                d integer
        );
  • PostgreSQL自增信息
    Column |   Type   | Collation | Nullable |            Default
    --------+----------+-----------+----------+-------------------------------
    a      | integer  |           | not null | nextval('my_auto_a_seq'::regclass)
    b      | smallint |           | not null | nextval('my_auto_b_seq'::regclass)
    c      | bigint   |           | not null | nextval('my_auto_c_seq'::regclass)
    d      | integer  |           |          |
  • CAE自动增长(需指定自增起始值及增长步长)
    SQL> Create Table my_auto(
                id Int identity(1,1) Primary Key,
                username Varchar(20)
        );
  • CAE自增信息
    Field   |Type       |Null |Key  |Default|Extra  |
    --------+-----------+-----+-----+-------+-------+
    ID      |INTEGER    |NO  |PK_S498816608141247 |       |$SYS_SEQ_1048625|
    USERNAME|CHAR(20)   |YES |                    |       |                |