1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='
时间: 2023-08-19 17:07:34 浏览: 172
这个错误通常是由于在比较操作(如=)中使用了不同的字符集引起的。utf8mb4_unicode_ci 和 utf8mb4_general_ci 是两种不同的字符集和排序规则。要解决这个错误,你可以采取以下几种方法之一:
1. 修改表的字符集和排序规则:你可以将表的字符集和排序规则统一为相同的值。可以使用 ALTER TABLE 语句修改表的字符集和排序规则。
例如,要将表的字符集和排序规则修改为 utf8mb4_unicode_ci,可以执行以下语句:
```
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. 修改列的字符集和排序规则:如果你只想修改特定列的字符集和排序规则,可以使用 ALTER TABLE 语句修改列的字符集和排序规则。
例如,要将列的字符集和排序规则修改为 utf8mb4_unicode_ci,可以执行以下语句:
```
ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
请注意,在执行这些修改操作之前,建议先备份数据库以防止意外情况发生。
阅读全文