pre*_*rem 4 mysql foreign-keys cascading-deletes self-reference
我有一个自我引用外键的MySQL表.ON DELETE CASCADE在它中工作得非常好,但是我注意到一个奇怪的行为,它对于父实体最多只能工作14个级别.一旦我添加一个15级孩子并尝试删除父级,它就会开始抛出错误
"无法删除或更新父行:外键约束失败"
这是层次结构的图像.

尝试删除Parent将抛出错误.
此处重现行为的示例模式.在构建架构之前粘贴此行查询,其中id = 1而不是id = 2
DELETE FROM table1 WHERE id = 1;
我知道删除它的可能的解决方法
但是我想知道,对于ON CASCADE DELETE,这是一些已知的MySQL限制吗?
我使用的是MySQL服务器版本5.6
这是记录在案的行为:
如果ON UPDATE CASCADE或ON UPDATE SET NULL递归更新它在级联期间先前更新的同一个表,它就像RESTRICT一样.这意味着您不能使用自引用ON UPDATE CASCADE或ON UPDATE SET NULL操作.这是为了防止级联更新导致的无限循环.另一方面,自引用ON DELETE SET NULL是可能的,就像自引用ON DELETE CASCADE一样.级联操作可能不会嵌套超过15级.
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |