批量修改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语句即可。

 

posted @ 2018-09-16 23:45  硅谷工具人  阅读(2090)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。