Смена движка для MySQL таблиц с MyISAM на InnoDB
Смена движка для MySQL таблиц с MyIsam
на InnoDB
происходит в два этапа:
- Создаем запрос на основе существующих данных
- Выполняем новый запрос.
В консоли mysql
выполнять эти шаги не удобно, поскольку результаты Вы получите строки с пайпами
(символ |
) в начале и конце строки. Для баз данных с 100+ таблиц это очень не удобно.
Выполните следующий запрос в PhpMyAdmin:
SET @DATABASE_NAME = 'имя_бд';
SELECT CONCAT('ALTER TABLE ', table_name, ' ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;
Результат копируем и вставляем в новый запрос, желательно между тэгами:
begin transaction;
результат вставить сюда
commit transaction;