往postgresql 数据库写入数据的时候,报
1、WARNING:flask_appbuilder.models.sqla.interface:Add record integrity error: (psycopg2.IntegrityError) duplicate key value violates unique constraint “lab_pkey” DETAIL: Key (id)=(1) already exists.
出现以上错误,是因为自增序列值和自增字段的最大值不匹配导致的。
解决办法
方法一
可以将数据删掉,全部重新进行数据插入,插入数据时不要指定irecoredid(自增长类型)
方法二
SELECT setval(‘scholars_id_seq’, (SELECT MAX(id) FROM scholars));
即将表的自增id序列当前值设置为表最大id
SELECT MAX(id) FROM scholars;
SELECT nextval(‘scholars_id_seq’);
以上可以看表最大id 和自增序列当前值比较,id大于自增序列一定会报错。