[转载]批量修改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中执行完生成结果语句如下:

image.png
  1. 执行1中生成的SQL语句即可。
image.png

转载地址

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.查看当前数据引擎的命令:show engines;2.拼接修改语句SELECT GROUP_CONCAT(CO...
    叶小溪阅读 3,775评论 0 0
  • mysql数据库存储引擎 一、存储引擎概念 数据库就是存放数据的仓库。至于怎么存储,就涉及到存储引擎。 不同的存储...
    KG加内特阅读 1,346评论 0 0
  • 1、简介 相当于Linux文件系统,只不过比文件系统强大 2、功能了解 数据读写 数据安全 提高性能 热备份 自动...
    极光01阅读 2,622评论 0 0
  • 上节回顾及尾巴 =============== 聚集索引 与 辅助索引 区别 1. 聚集索引 只能有一个,辅助索引...
    张鑫泽_2109阅读 2,981评论 0 0
  • 上节回顾: mysql停止的流程,多实例在不知root密码情况下通过命令行是否能停止sql语句在查询不到数据时的执...
    斗魂_2e5d阅读 789评论 0 0

友情链接更多精彩内容