MySql报错:Cause: java.sql.SQLException: Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation ‘=’n; uncategorized SQLException; SQL state [HY000]; error code [1267]; Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation ‘=’; nested exception is java.sql.SQLException: Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation ‘='”
大致意思是:排序规则非法混合
原因:数据库表或列排序规则不统一。
解决方案:统一数据库、表、字段的排序规则一致。
修改:
-- 修改表及列字符集及排序规则
alter table table_name convert to character set utf8mb4 collate utf8mb4_general_ci;
注:
使用的数据库版本为8.0.29(8.0以上),创建数据库表时如果不选择排序规则,默认选择库、表、列的排序规则为 utf8mb4_0900_ai_ci。