Converting All Tables in one Database
suggest changeTo easily convert all tables in one database, use the following:
SET @DB_NAME = DATABASE();
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables
WHERE table_schema = @DB_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE';
NOTE: You should be connected to your database for DATABASE() function to work, otherwise it will return NULL. This mostly applies to standard mysql client shipped with server as it allows to connect without specifying a database.
Run this SQL statement to retrieve all the MyISAM
tables in your database.
Finally, copy the output and execute SQL queries from it.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents