前端之家收集整理的这篇文章主要介绍了
sql-server – 当删除约束时,支持索引也会被删除吗?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图记住一些
sql语法,我已经得到了ALTER TABLE ADD CONSTRAINT语法.当我说使用这种语法
添加FOREIGN KEY或PRIMARY KEY约束时,我相信我是正确的,
sql server会
自动创建索引来
支持约束操作. (这是真的……还是仅在PK而不是FK?)
如果是这样,当您使用ALTER TABLE DROP CONSTRAINT语法时…支持索引是否也会自动删除?可以明确删除这些隐式支持索引吗?如果是这样,CONSTRAINT会自动删除吗?
我只是想知道它是如何工作的“幕后”.谷歌搜索没有帮助.我想我可以查询一些sys表来发现真相,但我想我会在这里试试.
谢谢你的帮助.
赛斯
添加主键时,实际上会
添加唯一索引.
添加是否导致新索引被群集取决于您是否指定它是非群集的.如果在
添加主键约束时,您没有指定它是聚簇约束还是非聚簇约束,则如果表上尚不存在聚簇约束或索引,则它将被聚类,否则它将是非聚簇的.
添加外键时,不会自动创建索引.
删除约束时,将删除由于创建约束而创建的任何索引.但是,如果您尝试删除唯一或主键约束并且有引用它的外键约束,则会出现错误.
使用DROP INDEX无法删除由于创建约束而创建的索引.
原文链接:https://www.f2er.com/mssql/74696.html