1. 程式人生 > >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