1271, Illegal mix of collations for operation 'like'解决方法

在admin模糊查询中加到一定的字段,在查询中文时,出现报错:

(1271, "Illegal mix of collations for operation 'like'")

1271, Illegal mix of collations for operation 'like'解决方法

 

问题所在是:

MySQL Illegal mix of collations for operation 'like', MySQL 5.5 以上, 若字段类型 Type 是 time,date,datetime

在 select时如果使用 like '%中文%' 会出现 Illegal mix of collations for operation 'like'。执行时可能就会出现时间字段 like '%中文%' 这种语法,,旧版的 MySQL 是不会出现错误的。升到 MySQL 5.5 以上, 必需改成 like binary '%中文%' 即可避免出现错误。

解决方法:

进入:

C:\python\py\Lib\site-packages\django\db\backends\mysql\base.py

根据情况查看自己相应的文件

C:\python\py 为我的python环境安装目录

找到对应的db路径下的base.py文件

1271, Illegal mix of collations for operation 'like'解决方法

 

'icontains': 'LIKE %s', 改为:  'icontains': 'LIKE BINARY %s',

重启后模糊查询中文可以了。