【发布时间】:2019-03-30 06:55:38
【问题描述】:
我的表中有一个复合唯一索引,但由于业务原因,我不得不从索引中取出其中一列。所以我放弃了索引。现在,随着列数的减少,它在创建索引时会引发错误:ORA-01452: cannot CREATE UNIQUE INDEX;找到重复的键。
以前索引有一个额外的列,一切正常。
CREATE UNIQUE INDEX MGRRS.ITRCHESS ON MGRRS.TTRCHESS (MHYSTU, MAJUSDESK, DATSNAQ, TIMESSDG) TABLESPACE IMGRRS LOCAL
*
ERROR at line 1:
ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
注意 1:请注意,我没有从表中删除该列。
【问题讨论】:
-
你已经有重复的数据了..你应该先摆脱它
-
由于业务原因也许您可以使索引不唯一?
-
@samantarighpeima - 他们没有重复的数据。如果我们在五列上有一个复合索引,我们可以在四列中有多个相同值的实例,前提是所有五列的组合是不同的。
-
什么样的列组合是独特的,最终是业务的问题。这就是我们有实体模型的原因。