PostgreSQL不像SQL Server一样有identity关键字可以用来指定字段自增。但是它有序列值产生器可以使用,并且在数据字段定义时可以指定默认值为一个表达式,这样我们就可以使用序列值来作实现字段值自增。
步骤:
创建一个序列值
create sequence id_sequence increment 1 start 1
id_sequence为序列值名称,increment为步长默认为1,start为初始值,默认为1
在字段定义时,指定默认值为获取序列值(用nextval函数, 参数为序列值名称的字符串)
create table mytest (id integer not null default nextval('id_sequence'), txt varchar(100))PostgreSQL中让主键自增长可先建立一个对应表的sequence
CREATE SEQUENCE test_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
其中START是从数字几开始,INCREMENT BY是一次增长几个数字,NO MINVALUE是没有最小值,NO MAXVALUE是没有最大值;
然后修改表id字段
alter table test alter column id set default nextval('test_id_seq')
也可以在建表的时候使用:
"id" int4 DEFAULT nextval('t_ordercenter_info_history_id_seq'::regclass) NOT NULL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)