从我的指南
How to support full Unicode in MySQL databases,以下是您可以运行以更新数据库,表或列的字符集和排序规则的查询:
对于每个数据库:
ALTER DATABASE
database_name
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
对于每个表:
ALTER TABLE
table_name
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
对于每列:
ALTER TABLE
table_name
CHANGE column_name column_name
VARCHAR(191)
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
(不要盲目地复制粘贴它!确切的语句取决于列类型,最大长度和其他属性.上面的行只是VARCHAR列的一个示例.)
但请注意,您无法完全自动完成从utf8到utf8mb4的转换.如step 4 of the abovementioned guide中所述,您需要检查列和索引键的最大长度,因为当使用utf8mb4而不是utf8时,指定的数字具有不同的含义.