批量修改mysql数据库引擎
数据库表中部分是MyISAM引擎,部分是InnoDB。由于MyISAM不支持事务,所以需要全部修改为InnoDB引擎。
(下面例子SQL语句中 ecsoft 为数据库名)
通过以下查询可以看到数据库中表的引擎。
select * from information_schema.tables as t where table_schema = 'ecsoft' and table_type='base table' and engine = 'MyISAM';
批量修改分2部操作:
1. 生成批量修改的sql语句。
USE `ecsoft`; SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = 'ecsoft' AND TABLE_TYPE = 'BASE TABLE' and engine = 'MyISAM' ;
1中执行完生成结果语句如下:
2. 执行1中生成的SQL语句即可。
本文来自博客园,作者:硅谷工具人,转载请注明原文链接:https://www.cnblogs.com/30go/p/9658280.html