转换一个数据库中的所有表
要轻松转换一个数据库中的所有表,请使用以下命令:
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 查询。