你好,有没有一种通用的方法可以一次性更改 MySQL 中的所有内容,我的意思是触发器、过程、表等?
最佳答案
转储,对转储文件进行大量编辑,然后重新加载。这应该可行,但存在风险,因为您可能会错过一些东西。
你的意思是 CHARACTER SET
(如 latin1
与 utf8
)?或者你的意思是 COLLATION
(如 utf8mb4_general_ci
与 utf8mb4_unicode_520_ci
)?
表需要 ALTER TABLE ... CONVERT TO ...
。您可以针对 information_schema
编写一个简单的 SELECT
来生成所有表 ALTERs
。触发器和例程可能需要重新创建,因为它们采用创建时生效的设置。
关于MySQL更改数据库排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37184729/