Невозможно удалить индекс из таблицы 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;
Я получаю то же самое! Я не хочу отбрасывать ВСЕ определения внешних ключей, отбрасывать этот индекс и определять их снова! Другое решение?
2 ответа
Проблема была в том, что в поле внешнего ключа уже был индекс:) и я не знал, что внешний ключ также является индексом. В любом случае, в конце концов я вырвал все свои волосы, мне пришлось сбросить все индексы, чтобы избавиться от них. Я никогда не буду использовать innoDB снова