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

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值