AWS Aurora MySQL 5.7.12 区分重音的排序规则
AWS Aurora MySQL 5.7.12 accent sensitive collation
旧版 SQLServer 数据库列具有排序规则 SQL_Latin1_General_CP1_CI_AS(不区分大小写,区分重音)。
我们需要将此列迁移到一个已经创建并正在使用的 AWS Aurora MySQL 实例中。
MySQL 8 具有排序规则 utf8mb4_0900_as_ci(不区分大小写,区分重音)。
AWS Aurora 目前使用的 MySQL 5.7.12 没有 utf8mb4_0900_as_ci。 MySQL 5.7.12 确实有
- utf8mb4_bin(区分大小写,比较二进制时区分重音)
- utf8mb4_unicode_ci(不区分大小写,还没弄清楚是否区分重音)
- utf8mb4_unicode_520_ci(不区分大小写,还没弄清楚是否区分重音)
utf8mb4_unicode_ci 或 utf8mb4_unicode_520_ci 区分重音吗?如果是,我可以只使用其中之一吗(但是哪个?)。
否则,除了使用 utf8mb4_bin 我看不到其他选择,因为它似乎是唯一可用的区分重音的排序规则,但因为它是区分大小写的,所以我必须通过例如小写来解决区分大小写的问题WHERE 子句,但它会在没有意外副作用的情况下工作吗?
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;
查看您的系统中可用的排序规则。
旧版 SQLServer 数据库列具有排序规则 SQL_Latin1_General_CP1_CI_AS(不区分大小写,区分重音)。
我们需要将此列迁移到一个已经创建并正在使用的 AWS Aurora MySQL 实例中。
MySQL 8 具有排序规则 utf8mb4_0900_as_ci(不区分大小写,区分重音)。
AWS Aurora 目前使用的 MySQL 5.7.12 没有 utf8mb4_0900_as_ci。 MySQL 5.7.12 确实有
- utf8mb4_bin(区分大小写,比较二进制时区分重音)
- utf8mb4_unicode_ci(不区分大小写,还没弄清楚是否区分重音)
- utf8mb4_unicode_520_ci(不区分大小写,还没弄清楚是否区分重音)
utf8mb4_unicode_ci 或 utf8mb4_unicode_520_ci 区分重音吗?如果是,我可以只使用其中之一吗(但是哪个?)。
否则,除了使用 utf8mb4_bin 我看不到其他选择,因为它似乎是唯一可用的区分重音的排序规则,但因为它是区分大小写的,所以我必须通过例如小写来解决区分大小写的问题WHERE 子句,但它会在没有意外副作用的情况下工作吗?
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;
查看您的系统中可用的排序规则。