一、问题描述
二、原因
每次插入数据时,自增的主键每次都会加1(序列值也加1),但是当指定主键值插入数据时序列值不会变,导致下次添加时主键冲突
三、解决方法
1.查询当前最大主键值
select max("主键名") from "表名";
如:
select max("user_id") from "sys_user";
2.查询下一个序列值
select nextval('表名_主键_seq');
如:
select nextval('sys_user_user_id_seq');
3.设置序列值
select setval('"表名_主键_seq"', (select max("主键") from "表名"));
如:
select setval('"sys_user_user_id_seq"', (select max("user_id") from "sys_user"));
推荐链接
评论可见,请评论后查看内容,谢谢!!!
发表评论