gpt4 book ai didi

sql - 无法删除 UNIQUE 约束

转载 作者:行者123 更新时间:2023-12-05 02:23:30 27 4
gpt4 key购买 nike

我想在表上删除一些约束。因此,首先我必须找出约束的名称,然后查看要删除的约束。对于第一个任务,我使用了查询 -

SELECT * 
FROM sys.indexes
WHERE object_id = OBJECT_ID('YourTableName')

我从该查询返回的名称列中记下了我的表中唯一约束的名称。约束名称之一是 UNIQ_YourTableName_01。

为了放弃这个约束,我使用了 -

ALTER TABLE YourTableName
DROP CONSTRAINT UNIQ_YourTableName_01

我收到一个错误 - UNIQ_YourTableName_01 不是约束。无法删除约束。查看以前的错误。我该如何解决 ?

谢谢。

最佳答案

您的查询将返回您需要删除为唯一约束创建的索引的索引名称

使用这个查询

DROP INDEX Index_Name
ON Schema.Table_Name

唯一约束会在幕后创建一个唯一非聚集索引,以强制该列的唯一性。

此外,如果您需要在插入后再次创建此 INDEX,您可以简单地禁用它,一旦您完成了您想做的任何事情,您就可以在之后启用它。

像这样的……

ALTER INDEX [Index_Name] ON Schema.Table_Name DISABLE
GO

/* Do your Stuff here */

ALTER INDEX [Index_Name] ON Schema.Table_Name REBUILD
GO

关于sql - 无法删除 UNIQUE 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22054262/

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