postgre 重复键违反唯一约束 键值已经存在

定位问题
此时我数据库已有id为1046的数据,再次插入相同id时,当然是插入失败的。
当你COPY记录到表时, 或者插入数据时带了自增ID等都不会影响序列的变化, 所以导致了序列与表的记录不一致的情况
解决方案
下列命令将序列的值更新为比表记录最大值加1
SELECT setval('表名_唯一约束的字段_seq', (SELECT max(唯一约束的字段) FROM 表名));
演示
下面是我执行的语句:上面我的id为1046,我执行完这行命令后,setval变为了1085。
此时再次新增,成功!
