排序规则的非法混合 MySQL 错误

2021-11-20 00:00:00 sql mysql mysql-error-1267

我在处理大量数据时遇到这个奇怪的错误...

I'm getting this strange error while processing a large number of data...

Error Number: 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 æ˜" ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'

我该怎么做才能解决这个问题?我可以以某种方式转义字符串以便不会发生此错误,或者我是否需要以某种方式更改我的表编码,如果是这样,我应该将其更改为什么?

What can I do to resolve this? Can I escape the string somehow so this error wouldn't occur, or do I need to change my table encoding somehow, and if so, what should I change it to?

推荐答案

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;

MySQL 有时会无缘无故地偷偷溜进来.

MySQL sneaks swedish in there sometimes for no sensible reason.

相关文章