美文网首页
Illegal mix of collations (utf8_

Illegal mix of collations (utf8_

作者: lew1sss | 来源:发表于2019-09-25 18:34 被阅读0次

    MySQL进行字符串比较时发生错误

    今天在做一些多表查询时,MySQL报错:[Err] 1267 - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

    问题分析:表之间的编码不一致,或者是比较的字段之间的编码不一致。

    解决方法:

    1. 查看表之间的编码是否一致;
      show create table <表名>;
    2. 如果表不一致,修改其中一个表的编码格式,使其表间编码一致
      alter table <表名> character set utf8 COLLATE utf8_general_ci;
    3. 表间编码一致仍出现同样错误,查询(相关查询语句的,=号两边)字段之间是否一致
      show full columns from <表名>;
      SELECT CHARSET(<字段名>) FROM <表名>;
    4. 修改字段编码
      ALTER TABLE <表名> MODIFY <字段名> <字段类型> CHARACTER SET utf8 COLLATE utf8_general_ci;

    相关文章

      网友评论

          本文标题:Illegal mix of collations (utf8_

          本文链接:https://www.haomeiwen.com/subject/hewiectx.html