gpt4 book ai didi

mysql - 如何将所有 InnoDB 表转换为 MyISAM?

转载 作者:行者123 更新时间:2023-11-29 06:04:42 25 4
gpt4 key购买 nike

大家好,我正在寻找一种方法(sql 代码),我可以使用它在我的 WordpressDB 中将所有 InnoDB 转换为 MyISAM。

我现在的代码是:

SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=MyISAM;') FROM Information_schema.TABLES WHERE ENGINE = 'InnoDB'

这给了我返回:

ALTER TABLE db.wp_comments ENGINE=MyISAM;
ALTER TABLE db.wp_links ENGINE=MyISAM;
ALTER TABLE db.wp_options ENGINE=MyISAM;
ALTER TABLE db.wp_postmeta ENGINE=MyISAM;
ALTER TABLE db.wp_posts ENGINE=MyISAM;
ALTER TABLE db.wp_term_relationships ENGINE=MyISAM;
ALTER TABLE db.wp_term_taxonomy ENGINE=MyISAM;
ALTER TABLE db.wp_termmeta ENGINE=MyISAM;
ALTER TABLE db.wp_terms ENGINE=MyISAM;
ALTER TABLE db.wp_usermeta ENGINE=MyISAM;
ALTER TABLE db.wp_users ENGINE=MyISAM;

现在我想一次执行所有这些行我想将所有结果保存在一个变量中并执行它们。但是一个 sql 变量只能保存一行......我现在如何只用普通的 sql 代码一次执行所有这些行?

提前致谢

P.S.: 我可以使用“更新”来解决这个问题吗,因为更新可能会将引擎更新为 MyISAM?

最佳答案

刚刚测试了另一种(简单的?)方法,对我有用。

只需将您的数据库导出为 .sql 文件,使用 gedit 或记事本对其进行编辑;

将“ENGINE=INNODB”替换为“ENGINE=MyISAM”并保存编辑的文件

完成的数量或更换应该是您的 table 数量

将其导入 MySQL(phpMyAdmin 或命令行)

瞧!

关于mysql - 如何将所有 InnoDB 表转换为 MyISAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42477334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com