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