MySQL基于自引用的更新级联

MySQL基于自引用的更新级联,mysql,cascade,Mysql,Cascade,据 如果在更新级联或更新集上 NULL递归以更新同一个表 它以前在更新过程中进行过更新 级联,它的行为就像限制 我对这一点的理解是,至少应该允许一个级联更新,此后任何进一步的更新都应该受到限制。对于自引用表,情况并非如此。未进行任何更新,仅给出此错误: 第1行出现错误1451(23000):无法删除或更新父行:外键约束失败('temp.'tableA',约束'FK5E61277C3139BCA6'外键('foreign_key_id')在更新级联中引用了'tableA'('id')。 你同意这

如果在更新级联或更新集上 NULL递归以更新同一个表 它以前在更新过程中进行过更新 级联,它的行为就像限制

我对这一点的理解是,至少应该允许一个级联更新,此后任何进一步的更新都应该受到限制。对于自引用表,情况并非如此。未进行任何更新,仅给出此错误:

第1行出现错误1451(23000):无法删除或更新父行:外键约束失败('temp.'tableA',约束'FK5E61277C3139BCA6'外键('foreign_key_id')在更新级联中引用了'tableA'('id')。


你同意这一点吗?为什么会这样?

对不起,但该页的最后一段解释了这一点:“这意味着你不能在更新级联或更新集空操作上使用自引用。”@RephaelHerjcovici,是的,我看到了,但问题是你是否认为这应该是预期的行为,为什么?我很抱歉是个混蛋,但如果它包含在文档中,则肯定是可以预期的。。。。。另外,进一步往下看:QUOTE:“这是为了防止级联更新产生无限循环。”我想知道,你需要一个解决方案吗?或者只是了解错误?@RephaelHerjcovici:我想通过使用级联自动更新每个FK引用来增加整个数据库中的每个键,比如10000000,但这(显然)在自引用表上失败了。所以,我的想法是,如果一个级联过程完成了,应该没有问题,但是一旦第二次更新完成,它应该被限制以防止无限循环,这就是我对我发布的段落的理解。同意吗?抱歉,但那一页的最后一段解释道:“这意味着你不能在更新级联或更新集空操作上使用自引用。”@RephaelHerjcovici,是的,我看到了,但问题是你是否认为这应该是预期的行为,为什么?我很抱歉是个蠢货,但如果它包含在文档中,则肯定是可以预期的。。。。。另外,进一步往下看:QUOTE:“这是为了防止级联更新产生无限循环。”我想知道,你需要一个解决方案吗?或者只是了解错误?@RephaelHerjcovici:我想通过使用级联自动更新每个FK引用来增加整个数据库中的每个键,比如10000000,但这(显然)在自引用表上失败了。所以,我的想法是,如果一个级联过程完成了,应该没有问题,但是一旦第二次更新完成,它应该被限制以防止无限循环,这就是我对我发布的段落的理解。同意吗?