mysql报错 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for o...

今天有个SQL执行不了,通过错误输出查到了问题,大致SQL如下:

SELECT * FROM `table` WHERE `field1`=`filed2`

这个SQL看起来是一点错误都没有,但是缺爆出了下面这个错误:

Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

意思就是编码不一致不能用“=” 运算符。那怎么办呢。。。还用说就是转换编码了,还好MySQL也有相关的函数。

CONVERT(table-colum USING utf8) COLLATE utf8_unicode_ci

比如是field1编码是utf8_unicode_ci,filed2编码是utf8_general_ci那么就会出现,那么SQL语句应该修改成这样子。

SELECT * FROM `table` WHERE `field1`=CONVERT(`filed2` USING utf8) COLLATE utf8_unicode_ci

这样编码就统一了,不过这个只是临时解决。最终还是根解决最好,直接修改字段的本身编码。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【红芍药•黑暗人生】士儿 双眉剑气①,似碧波皱。 万风②化鲲何时有?素月危墙瘦。 独无主菡萏,望魅影、墨云依旧。 ...
    士儿阅读 807评论 2 6
  • 与七月一同歌唱 让炽热的音符 在空中奏响 用心灵去聆听梦里天堂 与七月一同流浪 让流火点亮满天星光 指引仲夏梦里 ...
    诗呆阅读 3,068评论 49 102
  • 上午10点多了,本来正要看书,突然我奶开门让去集镇上买白菜,本来不想去的,结果也不想打破她那种想去的心情(其实自己...
    嘻嘻嗯嗯哈哈阅读 321评论 0 0
  • 人生总会碰到形形色色的问题。年轻人有少年维特的烦恼,中年人碰到的问题更多更复杂,但是经历多了,心态会好,所以却道“...
    幻想并真实阅读 408评论 0 0