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;