Illegal mix of collations (utf8mb4_0900_as_cs,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='
时间: 2023-11-07 17:50:26 浏览: 249
MySQL 编码utf8 与 utf8mb4 utf8mb4_unicode_ci 与 utf8mb4_general_ci
5星 · 资源好评率100%
这个错误表示在比较两个不同字符集或校对规则的字符串时发生了错误。在这种情况下,utf8mb4_0900_as_cs和utf8mb4_0900_ai_ci是两个不同的字符集和校对规则。
解决这个问题的方法是确保比较的两个字符串具有相同的字符集和校对规则。你可以使用以下方法之一解决这个问题:
1. 修改表的字符集和校对规则:你可以修改涉及到比较操作的表的字符集和校对规则,使其一致。例如,使用ALTER TABLE语句修改表的字符集和校对规则。
2. 修改查询语句:如果你只是在一个查询语句中出现了这个错误,你可以在查询中显式指定字符集和校对规则。例如,使用COLLATE子句来指定正确的字符集和校对规则。
3. 转换字符集和校对规则:如果你需要在不同字符集或校对规则之间进行比较,你可以使用CONVERT函数将一个字符串转换成另一个字符集或校对规则。例如,使用CONVERT函数将一个字符串转换成utf8mb4_0900_as_cs字符集和校对规则。
请注意,在修改字符集和校对规则时要小心,确保不会影响到现有的数据。如果需要,先备份数据再进行修改。
阅读全文