文章内容

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


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='"

分享到:

发表评论

评论列表