文章内容
2020/6/11 14:59:44,作 者: 黄兵
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='"
最近上线运行的程序出现了如下错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")
存在问题的原因:
多种编码存在一个查询里面,会出现这个问题。
查询示例:
SELECT COUNT(*) as num from keywords WHERE campaignId='12' AND LCASE(keyword)='hello again 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'
解决方案:
修改编码格式:
SET collation_connection = 'utf8_general_ci';
对于数据库或者表:
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
参考资料:
1、Illegal mix of collations MySQL Error
黄兵个人博客原创。
评论列表