コードに従ってエラーが発生した場合: ORA-00001: 固有の契約違反

1. エラー報告:

java.sql.SQLIntegrityConstraintViolationException ORA-00001 一意制約違反

2. エラーの原因を確認して解決します

1. エラー SQL ステートメントを確認し、データベースを比較すると、主キー ID が重複していることがわかりました (ここでは ID は自己増加型で、データベースは orcl です) 2. 主キー ID 自己増加エラーを解決するには、次の手順を実行します
。以下の通り

--首先根据出错的SQL语句定位到需要修改的数据表 
-- SEQ开头为序列 ; SEQ_GEN_TABLE_COLUMN序列 GEN_TABLE_COLUMN为对应的数据表
-- 第一步: 查询字段对应的序列(sequence)的下一次值是多少
SELECT  SEQ_GEN_TABLE_COLUMN.NEXTVAL FROM dual; -- 我这里查出 596 
-- 第二步:查询数据表中对应字段的最大值
select max(t.COLUMN_ID) from GEN_TABLE_COLUMN t;--1379
-- 第三步:修改序列值步进大小,更新序列值步进值(自己定义即可,需要超过数据库表中对应的最大值); 596+步长>1379
alter sequence SEQ_GEN_TABLE_COLUMN increment by 800; 
-- 第四步:按照步进值将序列值新增,并得到下一个序列值
select SEQ_GEN_TABLE_COLUMN .nextval from dual; 
-- 第五步:恢复序列值步进大小为1
alter sequence SEQ_GEN_TABLE_COLUMN increment by 1; 

Guess you like

Origin blog.csdn.net/qq_44774287/article/details/128394628