繁体   English   中英

在Alter表中添加外键时在SQL Server中出现错误

[英]While alter table adding foreign key getting error in SQL Server

我试图将SQL Server中的外键添加到现有表中,但出现错误。 有人可以帮我吗?

注意:表1和表2中都存在objid

ALTER TABLE table1
    ADD CONSTRAINT FK_41_PRICE_INST2PRICE_QTY
    FOREIGN KEY (Table1 PRICE_INST2PRICE_QTY) REFERENCES table2(objid);

错误:

FK_40_PRICE_INST2PRICE_QTY。 在数据库“ test”的表“ dbo.table2”的列“ objid”中发生了冲突。

语法应该更像这样:

ALTER TABLE table1
    ADD CONSTRAINT FK_41_PRICE_INST2PRICE_QTY
    FOREIGN KEY (PRICE_INST2PRICE_QTY) REFERENCES table2(objid);

您不需要限定列名。

除了语法错误外,我认为objid列中的某些值在PRICE_INST2PRICE_QTY表中不存在。 您必须检查两列之间的值。 这就是为什么要创建外键来防止此类情况的原因。

快速检查您的列“ objid”,不要写

 FOREIGN KEY (Table1 PRICE_INST2PRICE_QTY) REFERENCES table2(objid);

应该更像是:

FOREIGN KEY (PRICE_INST2PRICE_QTY) REFERENCES table2(objid);

没有table1,因为您正在使用table1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM