无法从带有外键/引用的 MySQL INNODB 表中删除索引

无法从带有外键/引用的 MySQL INNODB 表中删除索引

我即将从 mySQL INNODB 表中删除一个索引。已定义引用。当我尝试更改它时,它显示:

#1025 - Error on rename of 'X/#sql-2a5f_219828' to 'X' (errno: 150)

这乍一看似乎合乎逻辑,因为存在关系,所以无法重命名。但即使我禁用外键检查:

SET foreign_key_checks = 0;

ALTER TABLE flyers DROP INDEX Index_5, ROW_FORMAT = DYNAMIC;

我也有同样的问题!我不想删除所有外键定义,删除该索引,然后重新定义它们!还有其他解决方案吗?

答案1

删除旧索引之前创建一个新索引。

答案2

问题是外键字段上已经有一个索引 :) 而我不知道外键也是一个索引。无论如何,最后我都筋疲力尽了,我不得不删除所有索引才能摆脱它。我再也不会使用 innoDB

相关内容