转换一个数据库中的所有表

要轻松转换一个数据库中的所有表,请使用以下命令:

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 查询。