在 MySQL 中我想删除一个表。
我尝试了很多东西,但我不断收到名为 bericht
的表无法删除的错误。这是我得到的错误:
#1217 - Cannot delete or update a parent row: a foreign key constraint fails
如何删除此表?
最佳答案
这应该可以解决问题:
SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;
正如其他人指出的那样,这几乎从来都不是您想要的,即使这是问题中提出的问题。更安全的解决方案是在删除 bericht
之前根据 bericht
删除表。有关如何做到这一点,请参阅 CloudyMarble 答案。当我不想或无法删除并重新创建数据库本身时,我使用 bash 和帖子中的方法删除数据库中的所有表。
#1217
错误发生在其他表对您尝试删除的表有外键约束并且您正在使用 InnoDB 数据库引擎时。此解决方案暂时禁用检查约束,然后重新启用它们。阅读 documentation更多。请务必根据 bericht
删除表中的外键约束和字段,否则您的数据库可能会处于损坏状态。
关于mysql - 无法删除表 : A foreign key constraint fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11100911/