【问题标题】:ERROR 1267 (HY000): Illegal mix of collationsERROR 1267 (HY000): 非法混合排序规则
【发布时间】:2019-09-14 11:56:23
【问题描述】:

我正在使用 Percona mysql 客户端连接数据库,mysql Ver 8.0.15-5 for Linux on x86_64 (Source distribution)

mysql> SHOW SESSION VARIABLES LIKE 'collation_connection';
Variable_name   Value
collation_connection    utf8mb4_general_ci
mysql> call unit_create_with_dummy_users;
ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_unicode_520_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='
mysql>

Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' 等其他错误消息不同,我相信所有表都具有相同的排序规则,但我的 collat​​ion_connection 不是吗?还是我理解错了?

【问题讨论】:

    标签: mysql mariadb


    【解决方案1】:
    • 该存储过程的CHARACTER SETCOLLATION 是在创建过程时建立的。见SHOW CREATE PROCEDURE unit_create_with_dummy_users
    • 连接的字符集和排序规则是另一个因素。显然是不同的。
    • 的字符集和排序规则是第三个因素。

    如果没有看到导致“非法混合”的实际语句,在 proc 中,我们无法为您提供避免问题的最简单方法的建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-06
      • 2014-12-03
      • 2016-11-23
      • 1970-01-01
      • 2012-08-28
      • 2023-03-21
      • 2015-09-16
      • 2016-09-17
      相关资源
      最近更新 更多