gpt4 book ai didi

MySQL:使用 FK 约束调试失败的删除

转载 作者:行者123 更新时间:2023-11-30 22:25:41 24 4
gpt4 key购买 nike

由于外键约束导致删除失败,如何调试mysql的删除?

示例:

我执行一条语句:

DELETE FROM SCHEMA_A.TABLE_A WHERE id=1;

并得到错误:

ERROR 1451: Cannot delete or update a parent row: a foreign key constraint fails (`SCHEMA_A`.`TABLE_B`, CONSTRAINT `FK123` FOREIGN KEY (`id`) REFERENCES `TABLE_C` (`id`) ON DELETE CASCADE)

现在,如您所见,约束有一个“ON DELETE CASCADE”,因此这个问题似乎不仅仅包含约束。此外,我不直接从 TABLE_C 中删除。

因此,我上面的问题与查找此类错误的真正原因有关。例如,获取删除路径的“依赖关系图”/“堆栈跟踪”之类的东西(例如,TABLE_A FKxy 导致删除 TABLE_Y 的条目,FKz 导致删除 TABLE_C 的条目)或哪些行是有帮助的实际上试图删除。

最佳答案

您应该能够使用此语句检查外键

SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = '<table>';

关于MySQL:使用 FK 约束调试失败的删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com