DBAtlas · 数据库运维图谱

1553: Cannot drop index needed in a foreign key constraint(无法删除外键约束所需的索引)

MySQL

含义

您试图删除外键约束所需的索引。InnoDB 不允许删除 FK 所依赖的索引。

原因

在 InnoDB 中,每个外键都需要在其引用列上有索引。用 DROP INDEX 删除该索引会使 FK 约束失去支撑,因此被拒绝。通常在重组表(清理索引)时遇到。

解决方法

先删除外键约束,再删除索引:ALTER TABLE my_table DROP FOREIGN KEY fk_name; 然后 DROP INDEX idx_name ON my_table; 如有需要,重新创建 FK,使其依赖另一个合适的索引。列出现有 FK:SELECT constraint_name, table_name FROM information_schema.key_column_usage WHERE referenced_table_name IS NOT NULL;

在 DBAtlas 中打开 →

同一数据库的其他条目