【问题标题】:MySql view mixes collations but all tables/columns are utf8_unicode_ciMySql 视图混合排序规则,但所有表/列都是 utf8_unicode_ci
【发布时间】:2016-03-15 12:28:23
【问题描述】:

我正在尝试使用我创建的具有多个连接的view。数据库、所有表和所有列都设置为 utf8_unicode_ci(我已经检查并仔细检查了)。

但是,生成的 view 将 utf8_general_ci 用于特定表中的一组(看似随机的)列:并非全部,只有一两个,即使它们都设置为 utf8_unicode_ci。

这会在查询视图时出现Illegal mix of collations (utf8_general_ci,COERCIBLE) and (utf8_unicode_ci,COERCIBLE) 错误。

数据库位于 Amazon RDS 上(以防万一)。如何确保视图的所有列都设置为相同的排序规则?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    谜团解开了……原来我正在使用自定义函数在某些列中的单词的第一个字母上应用大写。这导致了排序规则的变化。

    也许可以更改函数,使其不会与排序规则发生冲突,但现在我只是不使用它。

    【讨论】:

      猜你喜欢
      • 2011-10-09
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 2015-08-13
      • 2012-09-14
      • 2012-08-28
      • 2019-04-10
      相关资源
      最近更新 更多