【发布时间】:2019-02-15 15:44:23
【问题描述】:
我的Oracle 11g 数据库中有一个关键表。它有一个index column,设置为primary key。第二列包含必须唯一的字符串。我为那个添加了unique constraint。现在有第三列也应该有一个唯一的约束。
当我使用ALTER TABLE 语句时,我得到了错误
'ORA-02299: 发现重复键'错误。
我知道可以在多个列上创建唯一约束,但这不是我想要的。我需要列是独立唯一的:
ALTER TABLE someTable
ADD CONSTRAINT constraint1_someTable UNIQUE (column2);
ALTER TABLE someTable
ADD CONSTRAINT constraint2_someTable UNIQUE (column3);
我希望该表所有列中的所有条目都是完全唯一的。有没有一种优雅的方法来实现这一点?
【问题讨论】:
-
“我希望该表的所有列中的所有条目都是完全唯一的” - 但是您是否检查过现有数据的实际情况?该错误表明它不正确,因此您需要弄清楚如何解决重复项,除非您只想强制新条目的唯一性。
标签: sql oracle unique-constraint