出现问题:MySQL中的排序规则的非法混合[重复]

Posted

技术标签:

【中文标题】出现问题:MySQL中的排序规则的非法混合[重复]【英文标题】:Getting issue : Illegal mix of collations in MySQL [duplicate] 【发布时间】:2017-12-25 17:27:57 【问题描述】:

我已经写了这个查询

select * 
from order mbo 
where  storeId in(select storeid 
                  from store bs 
                  INNER JOIN  distributioncenter bd
                    on bd.distributionCenterId = bs.distributionCenterId            
                  where (bd.orderCloseTime > curtime() and date(bo.orderDate)>=date(now())
                     and bs.storeId=1112211)  
                   or (date(bo.orderDate)>date(now())and bs.storeId=1112211));

这个查询在我的本地运行良好,但是在其他同事的系统中我遇到了问题。

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,NUMERIC) for operation '>';

可能是什么问题?

【问题讨论】:

@Strawberry 所有连接的表都是UTF8格式 【参考方案1】:

在你的mysql数据库中,“SHOW VARIABLES LIKE 'character_set_%'”,确保它们都是“UTF8”

【讨论】:

你要我运行那个命令吗? 我的意思是所有连接的表格格式都是urf8,我已经验证过了。 还有 Character_set_client? 'character_set_client', 'utf8' 它在我的系统中,但异常在 prod 中 不仅是表,你同事系统和数据库的mysql客户端都需要'UTF8'

以上是关于出现问题:MySQL中的排序规则的非法混合[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Jira中的Mysql错误“操作'='的排序规则(latin1_swedish_ci,I MPLICIT)和(utf8_general_ci,COERCIBLE)的非法混合”[重复]

当所有排序规则都已经标准化时,Mysql 非法混合排序规则

MySQL 非法混合排序规则

MySQL某些字符导致“非法混合排序规则”错误

排序规则的非法混合 MySQL 错误

MySQL 视图 - 排序规则的非法混合