Mysql
 sql >> Database >  >> RDS >> Mysql

Come convertire tutte le tabelle da MyISAM in InnoDB?

Esegui questa istruzione SQL (nel client MySQL, phpMyAdmin o ovunque) per recuperare tutte le tabelle MyISAM nel tuo database.

Sostituisci il valore di name_of_your_db variabile con il nome del database.

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;

Quindi, copia l'output ed esegui come una nuova query SQL.