我们有多行的表。我想在这两个表之间创建外键但是 我收到以下错误。
'CMEvent'表已成功保存;
'BaseEvent'表格 无法创建关系'FK_CMEvent_Oid' ALTER TABLE语句与FOREIGN KEY约束“FK_CMEvent_Oid”冲突。冲突发生在数据库“CMO_RestoredData”,表“dbo.BaseEvent”,列'Oid'。
答案 0 :(得分:0)
当我在CMEvent表中有一行在BaseEvent中不存在时,我能够复制此错误。
尝试运行此查询:
SELECT *
FROM CMEvent c
WHERE NOT EXISTS (
SELECT *
FROM BaseEvent
WHERE oid = c.oid )
如果您返回任何行,则必须先删除这些行,然后才能应用外键约束。
如果您需要保留这些孤立的行,可以使用WITH NOCHECK仅将约束应用于新行。