我们有很多行的表格。我想在这两个表之间创建外键但是 我收到以下错误。
'CMEvent' table saved successfully;
'BaseEvent' table
Unable to create relationship 'FK_CMEvent_Oid'.
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_CMEvent_Oid". The conflict occurred in database "CMO_RestoredData", table "dbo.BaseEvent", column 'Oid'.`
最佳答案
当我在 CMEvent 表中有一行在 BaseEvent 中不存在时,我能够重现此错误。
尝试运行这个查询:
SELECT *
FROM CMEvent c
WHERE NOT EXISTS (
SELECT *
FROM BaseEvent
WHERE oid = c.oid )
如果您返回任何行,则必须先删除这些行,然后才能应用外键约束。
如果你需要保留这些孤立的行,你可以使用WITH NOCHECK仅将约束应用于新行。
关于sql-server - SQL Server 2008 外键冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001486/