我需要使用 MYSQL 将数据库引擎中的整个表从 Innodb
更改为 MyISAM
。我该怎么做?以前有人这样做过吗?任何帮助或建议将不胜感激。谢谢!
最佳答案
你可以这样尝试:
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=MyISAM;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourdatabase'
AND `ENGINE` = 'Innodb'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;
查询将为您提供更改引擎所需执行的 ALTER 查询。
像这样在存储过程中添加 ALTER 查询:
DROP PROCEDURE IF EXISTS myProc;
DELIMITER //
CREATE PROCEDURE myProc
BEGIN
//Here you can put the ALTER statements.
END//
DELIMITER ;
关于MYSQL批量改表引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560951/