添加到主键而不删除外键引用

时间:2012-02-10 19:34:10

标签: sql-server sql-server-2008

我有一个主键表,我想添加另一列。问题是,当我添加它时,Sql Server会删除对该表的所有外键引用。

有什么方法可以解决这个问题吗? (或者甚至可能是重构这个的工具)?

2 个答案:

答案 0 :(得分:5)

无需“修复” - 您正在更改PK,因此需要删除FK。

如果向PK添加字段,您认为应该怎么办?所有FK引用都会添加字段?如果您的其他表中不存在该额外字段该怎么办?必须将它们删除然后重新创建,以确保它们甚至是有效的引用。

答案 1 :(得分:0)

没有办法绕过它。必须重新定义外键。例如,如果您在PK中添加一列,则需要重新定义所有现有FK以引用构成PK的新列。这意味着您必须向子表添加列。

我不确定是否有任何工具可以自动完成此过程。