我有以下情况:
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,但这是一个有效的设置。是否必须至少有某种循环才能有多个级联路径?