轉換一個資料庫中的所有表

要輕鬆轉換一個資料庫中的所有表,請使用以下命令:

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';

注意: 你應該連線到你的資料庫以使 DATABASE() 功能正常工作,否則它將返回 NULL。這主要適用於伺服器附帶的標準 mysql 客戶端,因為它允許連線而無需指定資料庫。

執行此 SQL 語句以檢索資料庫中的所有 MyISAM 表。

最後,複製輸出並從中執行 SQL 查詢。