PostgreSQL/Kingbase 使用序列来标识数据库的自增长,数据类型有smallserial、serial和bigserial。
SMALLSERIAL、SERIAL和BIGSERIAL范围:
| 序列类型 | 存储大小 | 范围 |
|---|---|---|
| SMALLSERIAL | 2字节 | 1到32,767 |
| SERIAL | 4字节 | 1到2,147,483,647 |
| BIGSERIAL | 8字节 | 1 到 922,337,2036,854,775,807 |
test=# create table tb_user1(id SERIAL,name varchar);CREATE TABLEtest=#test=# create table tb_user2(id smallserial,name varchar);CREATE TABLEtest=#test=# create table tb_user3(id bigserial,name varchar);CREATE TABLEtest=#test=#test=# insert into tb_user1 values ('zhangsan'),('lisi');错误: 无效的类型 integer 输入语法: "zhangsan"第1行insert into tb_user1 values ('zhangsan'),('lisi');^test=# insert into tb_user1(name) values ('zhangsan'),('lisi');INSERT 0 2test=#test=# select * from tb_user1;id | name----+----------1 | zhangsan2 | lisi(2 行记录)test=# insert into tb_user2(name) values ('zhangsan'),('lisi');INSERT 0 2test=#test=# select * from tb_user2;id | name----+----------1 | zhangsan2 | lisi(2 行记录)test=#test=# insert into tb_user3(name) values ('zhangsan'),('lisi');INSERT 0 2test=#test=# select * from tb_user3;id | name----+----------1 | zhangsan2 | lisi(2 行记录)test=#
