ORA-00001: 違反唯一約束條件 (xxxx) xxxx為你的報錯的約束值
不說別的,直接照着下面寫就完事
_seq千萬別忘了
解決方法:
第一步:查詢違反約束的序列
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='xxxx'
第二步:查詢序列的下一次值是多少
select xxxx_seq.nextval from dual;
第三步:查詢序列中最大值
select max(這個值是你的表的主鍵值,一般為id,有的公司會用其它的比如rid) from xxxx
第四步:修改序列值大小 加1000 --修改步進,例如沒有修改前的序列值為20000,執行此條會將20000+1000,此時序列開始值為21000
alter sequence xxxx_seq increment by 1000;
第五步:驗證序列是否修改成功
select xxxx_seq.nextval from dual;
第六步:調整步進 -- 修改步進,例如沒有修改前的序列值為20000,執行此條會將20000+1,此時序列開始值為20001,
alter sequence xxxx_seq increment by 1;
