gpt4 book ai didi

oracle10g - ORA-01452 : cannot CREATE UNIQUE INDEX; duplicate keys found

转载 作者:行者123 更新时间:2023-12-04 11:53:31 29 4
gpt4 key购买 nike

这可以标记为重复,但我在裁判时发现问题
Create Unqiue case-insensitive constraint on two varchar fields

我有一个表 std_tbl,其中一列中有一些重复的记录,比如 Column_One。

我在该列上创建了一个唯一约束

ALTER TABLE std_tbl            
ADD CONSTRAINT Unq_Column_One
UNIQUE (Column_One) ENABLE NOVALIDATE;

我使用 ENABLE NOVALIDATE 是因为我想保留现有的重复记录并验证 future 记录的重复。

但是在这里,containt 不查找区分大小写的单词,例如如果 Column_One 的值是 'abcd',它允许 'Abcd' 和 'ABCD' 插入表中。

我希望此行为不区分大小写,以便在验证数据时不查找大小写。为此,我想出了这个解决方案。
CREATE UNIQUE INDEX Unq_Column_One_indx ON std_tbl (LOWER(Column_One));

但它给了我错误:

ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found



请帮帮我...

最佳答案

当您尝试对包含重复值的一个或多个列执行 CREATE UNIQUE INDEX 语句时会发生这种情况。

两种解决方法(我知道):

  • 从 CREATE UNIQUE INDEX 语句中删除 UNIQUE 关键字并重新运行命令(即,如果值不需要唯一)。
  • 如果它们必须是唯一的,请删除导致重复值的无关记录并重新运行 CREATE UNIQUE INDEX 语句。
  • 关于oracle10g - ORA-01452 : cannot CREATE UNIQUE INDEX; duplicate keys found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504691/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com