旧版SQLServer db列具有排序规则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_unicode_ci或utf8mb4_unicode_520_ci重音敏感吗?如果是,我可以只使用其中之一(但是?)。
否则,我看不到其他选择,只能使用utf8mb4_bin,因为它似乎是唯一可用的重音敏感排序规则,但是因为它是区分大小写的,所以我必须通过例如在WHERE子句中降低大小写来解决区分大小写的问题,但是这样做没有意外的不良副作用吗?
答案 0 :(得分:0)
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;
查看系统中可用的排序规则。