some image

Как сконвертировать все таблицы в базе MySQL в InnoDB

Обо всем

Сначала выполните следующий запрос, указав название нужной базы данных, для генерации SQL для конвертации:

SET @DATABASE_NAME = ‘name_of_your_db’;

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;

Затем скопируйте и запустите получившийся код. В результате все MyISAM таблицы в базе будут сконвертированы в InnoDB.