0

我试图在现有表(表A)的新创建列上添加外键约束,新建表(表B)。这是在SQL Server 2008上。当我添加关系时,Alter表脚本失败。我还创建了表A上创建的新列以允许空值。 但是,当我尝试在检查现有数据时保存为NO时 - 我可以保存关系。 这是在现有数据上创建外键约束的好方法,还是应该创建一个模拟多对多关系的新表(表c),而不是将新列添加到表A,这将使我可以创建我的外键关键约束,而不必在现有数据中指定“不检查”,尽管实际关系是一对多关系。将外键约束添加到包含现有数据的表的主键列

回答

0

是的,你可以做到这一点通过使Checking Existing Data On Creation Or Re-Enabling = No

如果你不想验证新的检查或对现有数据的外键约束,使用WITH NOCHECK

Checking Existing Data On Creation

+0

我知道我可以通过这样做来节省约束,但是这是处理这种情况的更好方法,或者像我在我的问题中提到的那样创建一个新表格 – nams

+0

创建其他表不是一个好的方法a..even这也不是一个好主意,因为数据将不匹配外键值.. –

+0

你有任何其他的想法,我可以使用..? – nams