一次将一张表从 MyISAM 修改为 InnoDB 可能会很乏味。下面的文章提供了一个全面的解决方案,可以使用 SQL 将数据库中的所有 MyISAM 表快速转换为 InnoDB。
要实现此批量转换,请执行以下 SQL 语句:
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;
确保将 name_of_your_db 替换为您的名称
运行上面的SQL语句后,输出将提供将每个MyISAM表转换为InnoDB的SQL语句列表。将这些语句复制到新的 SQL 查询窗口中并执行它们。这将为数据库中的所有 MyISAM 表执行转换。
InnoDB 相对于 MyISAM 具有多个优势,包括:
以上是如何将MySQL中的所有MyISAM表批量转换为InnoDB?的详细内容。更多信息请关注PHP中文网其他相关文章!