Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como converter todas as tabelas do MyISAM para o InnoDB?


Execute esta instrução SQL (no cliente MySQL, phpMyAdmin ou em qualquer lugar) para recuperar todas as tabelas MyISAM em seu banco de dados.

Substitua o valor do name_of_your_db variável com o nome do seu banco de dados.
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;

Em seguida, copie a saída e execute como uma nova consulta SQL.