中文关键字搜索,出现 Illegal mix of collations for operation

  一套老程序,条件查询出现错误[Err] 1271 - Illegal mix of collations for operation 'like',打出sql,放到查询器出现这个报错。

blob.png

错误原理分析以及错误解决方法:

在 MySQL 5.5 以上, 若字段 Type 是 time,date,datetime 

在 select 時若使用 like '%中文%' 会出現 Illegal mix of collations for operation 'like'

在写程序时要对每个字段进行搜索,在执行时可能就会出现时间字段 like '%中文%' 这种语法,

这在比较久的版本MySQL是不会出现错误的。但是升级到MySQL 5.5以上,必需改成like binary '%中文%' 即可避免出现错误


我的是 blob.png,用的mysql5.6,所以就出错了。


blob.png

修改之后的sql,查询成功。

评论