Это должно было быть легко... У меня есть база данных с примерно 20 таблицами, все в MyISAM. Я хотел преобразовать их в InnoSB, поэтому выполнил:
alter table xxxx engine = InnoDB;
В результате я получаю
ERROR 1050 (42S01): Table './yyy/xxx' already exists
Я попробовал несколько таблиц и думал, что это произойдет со всеми, пока не наткнулся на две таблицы, которые были преобразованы правильно. СОСТОЯНИЕ SHOW TABLE подтвердило правильное преобразование. Как ни странно, несколько других таблиц имели очень похожую или равную структуру, но не конвертировались.
Версия MySQL 5.5.27... Я пробовал через phpMyAdmin и напрямую через команды mysql. Тот же результат.
Примечание. Я нашел тему, указанную ниже, и вот некоторые из тестов: - Я сделал mysqlchk для таблицы - все в порядке. - Предложенный вариант DROP TABLE работает, таблица исчезает, - REPAIR TABLE затем сообщает, что не может файлировать таблицу (что логично). - Если я восстановлю таблицу из резервной копии, снова появится та же ошибка.
Может ли существовать параллельная таблица InnoDB, которую я не вижу?