原因:由序列获取的表主键比表中的主键小,导致主键不唯一。
确认原因方法:
可以先看下当前序列生成的值是多少:
select SEQ_C_CSERVICES.NEXTVAL from dual; --a
然后查看数据库里这个字段的最大值是多少
select max(C.主键) from C_CSERVICES C; --b
若b>a,则确认为此原因。
解决方法:
将序列中NEXTVAL改为 (b+1)。可进入 SEQ_CSERVICES.NEXTVAL 直接修改 Next nuber 值即可。

本文介绍了一种因序列生成的主键值小于数据库中实际存在的最大主键值而导致的主键冲突问题及其解决方法。通过调整序列的NEXTVAL值来确保主键的唯一性。
1657

被折叠的 条评论
为什么被折叠?



