自动增长
在PostgreSQL数据库中,设置自动增长的数据类型为“smallserial”、“serial”、“bigserial”,在插入数据时,自增字段自动生成自增值。与PostgreSQL数据库对应,在虚谷数据库中,使用“IDENTITY”设置自动增长。
自动增长使用规则区别如表1所示。
属性 | PostgreSQL | Xugu |
---|---|---|
关键字 | 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 | | | |