[英]adding a foreign key in sql server 2005
我正在使用以下命令添加外鍵
ALTER TABLE Company
ADD FOREIGN KEY (enumber)
REFERENCES emp(enumber);
...但是它給出了一個錯誤:
消息1769,第16級,狀態1,第2行
外鍵“ company_enumber_FK”引用引用表“ company”中的無效列“ enumber”。
消息1750,級別16,狀態0,第2行
無法創建約束。 請參閱先前的錯誤。
現在,如果我在表company
創建一列enumber
並執行該命令,則該命令將運行,但顯示空值。
這里enumber
是表emp
的主鍵,而company
是另一個表,我希望在其中添加外鍵enumber
我該怎么辦?
通常的方法是將新列添加到Company
表-作為可為空的列或(如果所有行應接收相同的值)默認值。
接下來,應用外鍵約束。
如果在第一段中選擇了可為空的列,那么現在應該編寫一個UPDATE
來確定Company
每一行的正確值。
最后,您可以再次更改Company
以將可為空的列更改為NOT NULL
。
這意味着Company
沒有名為enumber
的字段。 換句話說:
ADD FOREIGN KEY (enumber)
在Company
引用了錯誤的字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.