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