ORA-00001: 违反唯一约束条件


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;

posted on 2021-01-25 15:32  小泥爪子  阅读(6228)  评论(0)    收藏  举报

导航