【问题标题】:AWS Aurora MySQL 5.7.12 accent sensitive collationAWS Aurora MySQL 5.7.12 重音敏感排序规则
【发布时间】: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 子句中小写来解决区分大小写的问题,但是那样工作没有意外的不良副作用?

【问题讨论】:

    标签: mysql collation amazon-aurora utf8mb4


    【解决方案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; 查看系统中可用的排序规则。

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      • 2021-12-03
      • 2012-11-23
      • 2017-10-25
      • 2010-11-04
      • 1970-01-01
      相关资源
      最近更新 更多