我有两张表,父表和子表。列 Parent.favorite_child 有一个指向 Child.id 的外键约束。并且 Child.parent 列有一个指向 Parent.id 的外键约束。
现在这是奇怪的部分。我试图删除我的 Child 表,该表不包含任何记录,但 MySQL 给我错误:
ERROR 1217: Cannot delete or update a parent row: a foreign key constraint fails
SQL Statement:
drop table `mydatabase`.`Child`
为什么 MySQL 会抛出这个错误? Child 表中几乎没有任何记录可以指向或来自。
最佳答案
需要先删除父表的外键,才能删除子表:
ALTER TABLE `Parent` DROP FOREIGN KEY `Parent_ibfk_1` ;
关于mysql - 如何在 MySQL 中删除带有循环外键的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7843296/