llegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_
时间: 2023-12-06 18:36:33 浏览: 242
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
5星 · 资源好评率100%
这个错误通常是由于在比较或连接不同字符集或排序规则的列时引起的。在MySQL中,每个列都有一个字符集和一个排序规则。如果您在比较或连接不同字符集或排序规则的列时遇到此错误,则需要进行一些更改以解决此问题。以下是一些可能的解决方案:
1. 将表格中的所有列的字符集和排序规则都设置为相同的值。可以使用ALTER TABLE语句更改表格的字符集和排序规则。例如,以下命令将表格的字符集和排序规则都设置为utf8mb4_general_ci:
```sql
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
2. 在比较或连接列时,使用CAST()函数将列转换为相同的字符集和排序规则。例如,以下命令将列column_name转换为utf8mb4_general_ci字符集和排序规则:
```sql
SELECT * FROM table_name WHERE CAST(column_name AS CHAR CHARACTER SET utf8mb4) = 'some_value';
```
3. 在比较或连接列时,使用CONVERT()函数将列转换为相同的字符集和排序规则。例如,以下命令将列column_name转换为utf8mb4_general_ci字符集和排序规则:
```sql
SELECT * FROM table_name WHERE CONVERT(column_name USING utf8mb4) = 'some_value';
```
阅读全文