Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment convertir toutes les tables de MyISAM en InnoDB ?

Exécutez cette instruction SQL (dans le client MySQL, phpMyAdmin ou ailleurs) pour récupérer toutes les tables MyISAM de votre base de données.

Remplacer la valeur du name_of_your_db variable avec le nom de votre base de données.

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;

Ensuite, copiez la sortie et exécutez-la comme une nouvelle requête SQL.