SQL - 多个级联路径

时间:2015-08-11 13:38:19

标签: sql path sql-server-2012 cascade cascading

我有以下情况:

relations

  • Child1的FK为Parent.ID

  • Child2的FK为Child1.ID,另一个FK为Parent.ID

现在,当Parent.ID更新时我需要级联路径 - 所以我在两个外键上添加了“ON UPDATE CASCADE”选项,但是只要我想保存Child2的FK(用橙色着色),我就得到了以下错误消息:

  

在表'...'上引入FOREIGN KEY约束'...'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。

为什么会出现此错误?更新Parent.ID对从Child2到Child1的FK没有影响,因此数据应始终处于一致状态。

什么是级联路径?如果我将FK从Child2移到Child1,仍然有两个'ON UPDATE CASCADE'查看Parent.ID,但这是一个有效的设置。是否必须至少有某种循环才能有多个级联路径?

0 个答案:

没有答案