ORA-00001: 违反唯一约束条件
在 oracle 中执行 sql 语句时,报错:“ORA-00001: 违反唯一约束条件 SYS_C0011100”
解决方案:
--第一步:查看违反约束的序列对应的数据库表与字段
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_C0011100';
或者:
SELECT DISTINCT table_name
FROM all_indexes
WHERE index_name = 'SYS_C0011100';
--第二步:查询字段对应的序列(sequence)的下一次值是多少
select S_RECORDID.nextval from dual;
--第三步:查询数据表中对应字段的最大值
select max(RECID) from m_Operrecord_Ht;
--第四步:修改序列值步进大小,更新序列值
alter sequence S_RECORDID increment by 200;
--第五步:检查序列值是否修改成功,并超过数据库表中对应字段的最大值
select S_RECORDID.nextval from dual;
--第五步:恢复序列值步进大小为1
alter sequence S_RECORDID increment by 1;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫