繁体   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