DBAtlas · 数据库运维图谱

3730: Cannot drop table referenced by a foreign key constraint(无法删除被外键约束引用的表)

MySQL

含义

由于另一张表的外键引用了该表,无法将其删除。只要引用存在,DROP 就会被阻止。

原因

在通过 FK 与之关联的子表仍存在时尝试删除父表;未遵守依赖顺序;未先删除外键。

解决方法

先删除引用的外键:ALTER TABLE child_table DROP FOREIGN KEY fk_name; 再删除表。查找依赖的表/约束:SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; 在批量操作中可以临时使用 SET FOREIGN_KEY_CHECKS = 0;,但要谨慎,并在之后将其恢复为 1。

在 DBAtlas 中打开 →

同一数据库的其他条目