AWS Aurora MySQL 5.7.12 重音敏感排序规则
Posted
技术标签:
【中文标题】AWS Aurora MySQL 5.7.12 重音敏感排序规则【英文标题】:AWS Aurora MySQL 5.7.12 accent sensitive collation 【发布时间】:2019-03-07 07:17:18 【问题描述】:旧版 SQLServer db 列具有排序规则 SQL_Latin1_General_CP1_CI_AS(不区分大小写,区分重音)。
我们需要将此列迁移到已创建并积极使用的 AWS Aurora mysql 实例中。
MySQL 8 具有排序规则 utf8mb4_0900_as_ci(不区分大小写,区分重音)。
但是,AWS Aurora 当前使用没有 utf8mb4_0900_as_ci 的 MySQL 5.7.12。 MySQL 5.7.12 确实有
utf8mb4_bin(区分大小写,在比较二进制时区分重音) utf8mb4_unicode_ci(不区分大小写,无法确定是否区分重音) utf8mb4_unicode_520_ci(不区分大小写,无法确定是否区分重音)utf8mb4_unicode_ci 或 utf8mb4_unicode_520_ci 是否区分重音?如果是,我可以只使用其中一个吗(但哪个?)。
否则,除了使用 utf8mb4_bin 之外,我看不到其他选择,因为它似乎是唯一可用的区分重音的排序规则,但因为它是区分大小写的,所以我必须通过例如在 WHERE 子句中小写来解决区分大小写的问题,但是那样工作没有意外的不良副作用?
【问题讨论】:
【参考方案1】:900 指的是 Unicode 9.0(最好,但 8.0 是新的)
520 指的是 Unicode 5.20(最好在 5.7 中提供)_unicode_ci
指的是 Unicode 4.0(旧)_general_ci
(甚至不那么复杂)
_ci
(不带_as
)表示大小写和重音不敏感。_bin
表示大小写和重音敏感;比较位。
MySQL 没有提供许多混合敏感度的排序规则。
使用SHOW COLLATION;
查看系统中可用的排序规则。
【讨论】:
以上是关于AWS Aurora MySQL 5.7.12 重音敏感排序规则的主要内容,如果未能解决你的问题,请参考以下文章
AWS Aurora MySQL 无服务器:如何从 MySQL Workbench 连接
如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?
如何将 AWS RDS Aurora MySQL 5.6 升级到 5.7