首页 > 解决方案 > 排序规则将 utf8mb4_unicode_ci 更改为 utf8mb4_general_ci

问题描述

对于我的数据库,我默认使用字符集utf8mb4_unicode_ciutf8mb4这是一个错误,使用我创建的数据库的人抱怨排序规则。我需要将其转换为utf8mb4_general_ci. 我是否能够仅使用更改语句更改数据库,例如:

ALTER DATABASE `#{database}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

或者,即使两个排序规则之间的字符集相同,我是否需要更改每个单独的表并处理列?我似乎无法找到明确的答案......我正在使用 MySQL 5.7.2x 。

标签: mysqldatabasecollationutf8mb4

解决方案


utf8mb4_unicode_520_ci比你提到的任何一个排序规则都要好。

他们为什么抱怨?也许JOINs没有使用索引。我会和他们争论应该改变旧表。

ALTER DATABASE只为将来的表设置默认值。它不会做你需要的。

ALTER TABLE ... CONVERT TO ...每个表都需要。有关类似ALTER. 它提供了一种自动生成所有ALTERs.


推荐阅读