sqlserver 删除索引时遇到的问题,请高手指教!!!
在一个表中定义了这样的一个索引:stu_limit_table.sub_number_unique为何在删除时显示:不允许对索引'stu_limit_table.sub_...
在一个表中定义了这样的一个索引:stu_limit_table.sub_number_unique
为何在删除时显示:
不允许对索引 'stu_limit_table.sub_number_unique' 显式地使用 DROP INDEX。该索引正用于 UNIQUE KEY 约束的强制执行。
那应该如何删除这个索引呢???
能不能检查到是在那里被引用了呢? 展开
为何在删除时显示:
不允许对索引 'stu_limit_table.sub_number_unique' 显式地使用 DROP INDEX。该索引正用于 UNIQUE KEY 约束的强制执行。
那应该如何删除这个索引呢???
能不能检查到是在那里被引用了呢? 展开
2个回答
展开全部
--找出UNIQUE 约束所在的表
select o.name as [约束所在表],c.name as [关联字段]
from sys.objects o join sys.foreign_key_columns f on o.object_id=f.parent_object_id
join sys.columns c on o.object_id=c.object_id
where f.referenced_object_id=object_id('你的表名')
--查找约束名字
exec sp_helpconstraint [约束所在表]
--删除该约束
alter table [约束所在表] drop constraint XXXX
--最后删除你的索引
drop index stu_limit_table.sub_number_unique on tbname(column)
select o.name as [约束所在表],c.name as [关联字段]
from sys.objects o join sys.foreign_key_columns f on o.object_id=f.parent_object_id
join sys.columns c on o.object_id=c.object_id
where f.referenced_object_id=object_id('你的表名')
--查找约束名字
exec sp_helpconstraint [约束所在表]
--删除该约束
alter table [约束所在表] drop constraint XXXX
--最后删除你的索引
drop index stu_limit_table.sub_number_unique on tbname(column)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询