Допустим у нас есть mysql база данных site_db, а в ней таблица tablename.
Нам нужно конвертировать таблицу tablename из myisam в innodb.
По идее всё просто.
|
|
Но в жизни мы можем получить следующий ответ ответ
|
|
И вот здесь можно побороться.
SHOW CREATE TABLE tablename;
Нам покажут много строк, среди которых будет строчка с текстом
FULLTEXT KEY
key_name (
column_list)
или что-то около того. Важно чтоб в начале было FULLTEXT KEY
. Запомнили этот ‘key_name’. Удаляем этот индекс
ALTER TABLE tablename DROP INDEX key_name;
в ответ получим что-то такое
|
|
а затем снова пробуем конвертировать
ALTER TABLE tablename ENGINE=InnoDB;
В этот раз должно всё получиться. Не забывайте использовать screen, если работаете с большими базами данных.