文档解释
ORA-02261: such unique or primary key already exists in the table
Cause: Self-evident.
Action: Remove the extra key.
ORA-02261错误表明,正在尝试使用的某个唯一或主键值,已经存在于表中。
官方解释
ORA-02261:
类型:错误
对象:
参数:
描述
在试图插入或更新唯一或主键约束字段时出现 ORA-02261
解释
ORA-02261 表示您试图插入或更新表中的唯一或主键约束字段,但是唯一或主键值已存在。
常见案例
某角色更新表中唯一或主键值时,由于存在两个相同的唯一或主键值,造成更新失败;或者向表中插入新行时,由于该行的唯一或主键值已存在,导致插入失败。
正常处理方法及步骤
步骤1:确认是否存在唯一或主键约束错误。
步骤2:如果不确定是否存在唯一或主键约束错误:
a)运行以下命令查看索引是否存在两个相同密钥:
SELECT index_name, column_name, table_name
FROM user_ind_columns
WHERE table_name = ”
GROUP BY index_name, column_name, table_name
HAVING COUNT(1) > 1
;
b)查看表中是否存在重复的行:
SELECT column_name, COUNT(1)
FROM
GROUP BY column_name
HAVING COUNT(1) > 1
;
步骤3:修改现有表行或调整索引,以确保表中不存在两个相同的唯一/主键值。