如何删除约束

时间:2014-07-14 11:36:50

标签: sql sql-server sql-server-2008r2-express

使用SQL Server 2008

Table1有一个名为idx_u_customerinfo的约束。

我直接删除了table1(右键单击删除),我编写了一个脚本,用于创建具有相同约束名idx_u_customerinfo的table1。

我收到错误

  

数据库中已有一个名为“idx_u_customerinfo”的对象。

我需要删除约束名称,如何执行此操作?

2 个答案:

答案 0 :(得分:0)

  

ALTER TABLE" table_name"   DROP [CONSTRAINT | INDEX]" CONSTRAINT_NAME";

所以喜欢: ALTER TABLE table1 DROP CONSTRAINT idx_u_customerinfo;

答案 1 :(得分:0)

您实际上没有删除table1或索引idx_u_customerinfo存在于另一个表中。您不能在同一个数据库中拥有两个具有相同索引名称的表,因此将表名合并到索引名称中是一种很好的做法,例如, idx_table1_customerinfo

这应该为您提供有关此索引的所有信息,以确定下一步操作

SELECT tbl.name, idx.name, idx.type_desc
FROM sys.objects idx 
JOIN sys.objects tbl ON idx.parent_object_id = tbl.object_id
WHERE idx.name = N'idx_u_customerinfo'