2014-12-05 66 views
0

我使用下面的书面查询到的外键添加到现有场的数据表:如何摆脱掉错误的添加外键包含数据

ALTER TABLE ServiceDetails 
ADD CONSTRAINT fk_ServiceDetails 
FOREIGN KEY (OCF_ID) 
REFERENCES OCF_Commerce(OCF_Internal_ID); 

但我正在逐渐执行查询后发生错误。我错过了什么?

的错误信息是:

消息547,级别16,状态0,第1行
ALTER TABLE语句冲突与外键约束 “fk_ServiceDetails”。数据库“TrulyDB”,表“dbo.OCF_Commerce”,列“OCF_Internal_ID”发生冲突。

+0

表检查是否你ServiceDetails拥有所有的OCF_Internal_ID的OCF_ID OCK_Commerce Tbale – Rajesh 2014-12-05 09:58:21

+0

FK和PK的数据不匹配,例如有194的FK但没有194的PK。 – 2014-12-05 10:03:17

回答

0

你可能对你的表数据不一致 尝试运行

select * 
from ServiceDetails 
where OCF_ID not in (select OCF_Internal_ID from OCF_Commerce) 

这将输出与ID在主表中不存在的所有行