gpt4 book ai didi

sql - 在oracle中删除然后添加约束失败

转载 作者:行者123 更新时间:2023-12-04 13:35:48 25 4
gpt4 key购买 nike

我正在尝试将主键约束移动到oracle中的其他列。我尝试了这个:

ALTER TABLE MY_TABLE
DROP CONSTRAINT c_name;

ALTER TABLE MY_TABLE
ADD CONSTRAINT c_name PRIMARY KEY
(
"COLUMN_NAME"
) ENABLE;

这在添加约束上失败,并显示一条错误消息,即使我刚刚删除了约束,该约束已经存在。任何想法为什么会这样

最佳答案

如果原始约束是主键约束,则Oracle创建索引以强制执行约束。该索引与约束具有相同的名称(在您的示例中为C_NAME)。您需要将索引与约束分开放置。因此,您需要执行以下操作:

ALTER TABLE <table1> DROP CONSTRAINT C_NAME;
DROP INDEX C_NAME;

ALTER TABLE <table1> ADD CONSTRAINT C_NAME PRIMARY KEY
( COLUMN_2 ) ENABLE;

关于sql - 在oracle中删除然后添加约束失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843242/

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