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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM