簡體   English   中英

在SQL Server 2005中添加外鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM