我即将从 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