postgres 错误duplicate key value violates unique constraint 解决方案

it2023-04-11  80

报错信息:

django.db.utils.IntegrityError: duplicate key value violates unique constraint "parent_parentprofile_pkey" DETAIL:  Key (id)=(3) already exists.

原因分析:

postgres主键排序是不同步

主要是:serial key其实是由sequence实现的,当你手动给serial列赋值的时候,sequence是不会自增量变化的。 最好不要给serial手工赋值

解决方式:

可能是自增主键和序列不一致导致的,所以也可以不用重置序列起始值和主键,采取把序列号改成和当前最大主键一致的方式

SELECT setval('表名_id_seq', (SELECT MAX(id) FROM 表名)+1)

 

最新回复(0)