我在处理大量数据时出现了一个奇怪的错误...

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 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'

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

推荐答案

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相关问答推荐

在mySQL中使用子查询和WHERE子句的JOIN

在MySQL中存储一条帖子的点赞数量

MySQL 运行自动脚本

如何创建一个列,该列在另一个表中具有值的计数?

使用mysql查询获取不关注user1的user3

为大表优化 Django 模型

MySQL 8.0 可以在 Select 语句中返回 JSON 对象数组吗?

如何找到每个user_id每个产品的买家类型数量?

MySql SELECT 查找包含数字的区间的时间复杂度是多少?

「已解决」MySQL 连接在 vb6 上出现运行时错误 -2147467259 (80004005),但在 VBA Excel 上工作

错误1075:表定义不正确;只能有一个自动列,它必须定义为一个键(使用 gorm 和 mysql)

检索按键列值分组的最新日期 (MySql)

如何 Select 具有最新的 2 个日期字段的行?

在 SQL 中 for each 组返回具有最大值的行,包括具有相同值的行

将 wordpress 自定义字段转换为单个数组

如何通过if语句对SQL查询进行排序

动态创建内联 SQL 表(用于排除左连接)

没有 JDBC 类型的方言映射:1111

MySQL计算特定值的列

如何从命令行调用带有参数的mysql存储过程?