MySQL 5.7升级8.0后,排序规则问题解决方案汇总
比较操作中使用不同的字符集或排序规则通常会触发此问题,MySQL 8.0 默认 COLLATE 为 utf8mb4_0900_ai_ci 和 对应列 COLLATE 的 utf8mb4_general_ci 不匹配。 > 作者:陈举超 问题现象 MySQL 5.7.34 升级到 8.0.32 后部分查询语句报错如下: ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation 'find_in_set' 问题原因 比较操作中使用不同的字符集或排序规则通常会触发此问题,MySQL 8.0 默认 COLLATE 为 utf8mb4_0900_ai_ci 和 对应列 COLLATE 的 utf8mb4_general_ci 不匹配。 问题重现过程 创建测试表。 CREATE TABLE `t01` ( `ID` varchar(30) CHARACTER SET utf8mb4 COLLATE utf...