我的数据库中有两个表。 TableOne
有theKey
个主键。 TableTwo
有一个外键theKey
,引用TableOne
中的相应列。现在,我正在尝试更新theKey
中的TableTwo
:
UPDATE TableTwo
SET theKey = NewIk
FROM TableTwo W
JOIN TableThree D ON W.theKey_backup = D.OldIk
WHERE dt >= '2012-05-01'
但是我收到以下错误:
UPDATE语句与FOREIGN KEY约束冲突 “FK_TableTwo_TableOne”。冲突发生在数据库“MyDB”中, 表“dbo.TableOne”,列'theKey'。
如果我不触及TableOne
,请解释为什么我会收到此错误?
感谢。
答案 0 :(得分:1)
您尝试将TableTwo.theKey
设置为引用表TableOne
中不存在的值 - 这是什么错误是说。
所以你需要检查一下为什么会发生这种情况 - 你从哪里选择新值?为什么它是TableOne
中尚未存在的值?