postgresql中如何重置id字段的数字序列?


调试程序的过程中,手动直接把数据添加到数据库中了,没有按顺序,然后在自己的程序当中,执行添加数据操作,发现无法添加,系统提示id字段一致性错误。 比方说,我直接在数据库中添加的数据,id=35,而pg之前记录的id顺序是34,接着当尝试添加新数据时,就添加不上了。我想重置这个顺序,比方说从100开始,请问该如何操作?

数据库 PostgreSQL 字段序列 技巧 pg

灬NIE丶 10 years, 11 months ago

使用 ALTER SEQUENCE 表名字段名seq RESTART WITH 起始数值;

比方说,你的表名叫:department,自动计数的字段为id,那么可以用如下命令

ALTER SEQUENCE department_id_seq RESTART WITH 100;
Hachii☆ answered 10 years, 11 months ago

你可以使用 UPDATE department SET idcolumn=1000000+ nextval('department_id_seq'); 来避免重复

Tony团团长 answered 10 years, 11 months ago

Your Answer