sql报错:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf16_general_ci,IMPLICIT) for operation '='
时间: 2023-11-07 07:53:53 浏览: 154
Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
5星 · 资源好评率100%
这个报错是由于在比较操作中使用了不同字符集的列导致的。在MySQL中,比较操作要求操作数具有相同的字符集和校对规则。你可以通过以下方法解决这个问题:
1. 指定相同的字符集和校对规则:你可以在比较操作中使用`COLLATE`关键字来指定字符集和校对规则,使其一致。
例如,你可以使用以下语句来比较两个列:
```
SELECT column1, column2
FROM table
WHERE column1 COLLATE utf8_general_ci = column2 COLLATE utf8_general_ci;
```
2. 修改表结构:如果你经常需要进行比较操作,那么你可以考虑修改表结构,将涉及比较的列的字符集和校对规则统一为相同的。
阅读全文