将外键约束添加到具有现有数据的表的主键列

时间:2012-12-06 07:32:30

标签: sql sql-server-2008-r2 foreign-keys foreign-key-relationship

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

1 个答案:

答案 0 :(得分:0)

是的,你可以通过Checking Existing Data On Creation Or Re-Enabling = No

来做到这一点
  

如果您不想针对现有数据验证新的CHECK或FOREIGN KEY约束,请使用WITH NOCHECK

Checking Existing Data On Creation