外键约束5

时间:2012-10-29 12:39:22

标签: sql-server

我的数据库中有两个表。 TableOnetheKey个主键。 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,请解释为什么我会收到此错误?

感谢。

1 个答案:

答案 0 :(得分:1)

您尝试将TableTwo.theKey设置为引用表TableOne不存在的值 - 这是什么错误是说。

所以你需要检查一下为什么会发生这种情况 - 你从哪里选择新值?为什么它是TableOne中尚未存在的值?