错误1267(HY000):排序规则的非法混合

时间:2019-04-25 05:59:48

标签: mysql mariadb

我正在使用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 不是吗?还是我误会了?

1 个答案:

答案 0 :(得分:1)

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

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