You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向Dept表插入数据触发ORA-00001唯一约束违反错误的解决咨询

解决ORA-00001唯一约束违反错误的步骤

1. 定位冲突原因

ORA-00001错误说明你要插入的数据违反了表的唯一约束,你的Dept表有两个唯一约束:

  • Dcode列的主键约束(主键自带唯一性)
  • Dname列的unique约束

先执行以下查询确认表中已有的数据:

SELECT * FROM Dept;

查看是否已经存在Dcode=13或者Dname='Exe'的记录。

如果想直接定位错误对应的约束列,执行以下SQL查询系统字典:

SELECT cc.column_name
FROM user_constraints uc
JOIN user_cons_columns cc ON uc.constraint_name = cc.constraint_name
WHERE uc.constraint_name = 'SYS_C007019';

返回的column_name就是导致冲突的列。

2. 根据冲突场景处理

场景1:Dcode=13已存在

更换一个未使用的2位数字作为Dcode,比如:

INSERT INTO Dept VALUES (14,'Exe','G');

场景2:Dname='Exe'已存在

有两种处理方式:

  • 更换为check约束允许的其他部门名称:
INSERT INTO Dept VALUES (13,'Ope','G');
  • 删除已存在的Dname='Exe'的记录后再插入:
DELETE FROM Dept WHERE Dname = 'Exe';
INSERT INTO Dept VALUES (13,'Exe','G');

场景3:如果需要保留现有数据且插入新数据

调整插入的Dcode和Dname为表中未出现过的合法值,确保同时满足主键唯一、Dname唯一且在('Acc', 'Resea', 'Ope', 'Exe')范围内。

内容的提问来源于stack exchange,提问作者Wajid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:33:12