gpt4 book ai didi

oracle - novalidate 出现错误 ora-02299

转载 作者:行者123 更新时间:2023-12-01 23:07:42 37 4
gpt4 key购买 nike

有人可以帮我解决这个问题吗?

id | Name
--------
1 | aaa
2 | bbb
3 | aaa

>alter table arc add CONSTRAINT uk_arc UNIQUE (NAME) novalidate
error :ora-02299: cannot validate( .uk_arc ) - duplicate keys found

我正在使用 novalidate 忽略旧的重复项并重新开始验证。

最佳答案

如果我理解正确,您会期望 Oracle 忽略旧的重复值并仅在新值满足约束时才允许它们。返回错误是因为当您添加 UNIQUE 时约束,Oracle 在列上创建唯一索引来检查值,但是您的表已经有重复的值,所以它失败了。我会先创建非唯一索引,然后添加约束,以便它使用您现有的非唯一索引,而不是自动创建会失败的唯一索引:

create index arc_ix on arc (name);

alter table arc add constraint arc_uq unique (name) enable novalidate;

关于oracle - novalidate 出现错误 ora-02299,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163580/

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