我需要你的帮助来确定为什么会出现这个错误
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
程序工作正常,直到昨天,今天开始给出错误
非法混合整理。我检查了我的数据库的每个表,所有的表及其列都在一个字符集和排序规则中: - utf8 utf8_unicode_ci。
我创建了另一个具有相同structrue的模式,并尝试执行相同的查询它工作正常,但不是在其原始模式。
任何人都可以提供任何意见吗?为什么会这样?
我有同样的问题,我发现表有相同的排序规则,但列没有。
您可以下载mysqlyog试用版并在alter table中取消选中隐藏语言选项....
最快的方式来看。
在我的情况下,这是由于愚蠢的mysql工作台 -
它以某种方式从模式(到某些元数据或什么)添加到过程默认排序规则,然后如果您将过程中的任何内容整理到不同的排序规则,则会发生此异常;
必须设置正确(在过程中使用的那个)整理到模式,然后重新编辑过程并应用更改(必须重新保存或重新创建),现在一切正常
需要转换concat函数的每个参数。
CONCAT(CONVERT(field_A USING utf32), CONVERT(field_B USING utf32))
或者哪些功能可以解决您的问题。
我的问题是一样的,但在我的情况下足够使用转换之前使用sql语句 - 在PHP中
iconv(...)