ORA-00001: 违反唯一约束条件(SOLEX.SYS_C0012537) --解决方法




ORA-00001: 违反唯一约束条件(SOLEX.SYS_C0012537) --解决方法

1、错误
Caused by: java.sql.BatchUpdateException:ORA-00001: 违反唯一约束条件 (SOLEX.SYS_C0012537)
2、分析
①通过SYS_C0012537找到对应的表
select a.constraint_name,a.constraint_type,b.column_name,b.table_name
from user_constraints a inner join user_cons_columns b on a.table_name=b.table_name
where a.constraint_name='SYS_C0012537' --引号里面的是主键的名称(SOLEX.SYS_C0012537)
②同hbm.xml文件找到主键的自增序列名称

SEQ_FEEPAY_COST_D

③到数据库序列sequences查找该序列名称:SEQ_FEEPAY_COST_D,然后修改下一个ID的值

    或者select SEQ_FEEPAY_COST_D.nextval as summaryId from dual c 一直增序列,排除掉重复的

3.若数据库中该字段已经设置可为空,但插入的时候还是出现这个错误,最后把Check constraints中该字段关了(disable)就可以了。

原文1.2:https://blog.csdn.net/beinlife/article/details/76180156

原文3:https://blog.csdn.net/hellolib/article/details/13769831




为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
转载请标注出处!
原文地址:https://www.cnblogs.com/ios9/p/13864120.html