我有一张名为MyTable
. 主键是一个名为 的标识 int 列MyTableID
。在MyTableID
名为的 PK 列上有一个唯一的聚集索引PK_MyTable
。
我注意到IX_MyTable_MytableID
该表上有一个额外的非聚集唯一索引,只有一个 column MyTableID
,没有其他包含的列。这个索引显然是多余的,但是当我尝试删除它时,我收到一条错误消息:
The constraint 'IX_MyTable_MyTableID' is being referenced by table 'OtherTable',
foreign key constraint 'FK__OtherTable__MyTableID__369C23FC'.
Run Code Online (Sandbox Code Playgroud)
为什么 FK 约束依赖于非聚集唯一索引而不是主键约束?如何更新 FK 以使用聚集 PK 索引而不是其他索引?