异常信息
mysql error querying database. Cause: java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation '<>'
mysql error querying database. Cause: java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation ‘<>’
解释下,该异常即SQL语句中部分字段编码不一致,但不一致编码字段在同一条SQL中查询。即会报如上错误。
解决思路为找到对应的SQL涉及表或视图及字段,然后检查数据库编码,再来修改编码, 最后重置数据库连接池即解决 。
解决方式
涉及到的命令汇总:
# 查看全局列变量编码
show global variables like '%coll%'
# 设置自定义列变量编码
set global default_collation_for_utf8mb4 = 'utf8mb4_general_ci'
查看当前库的编码信息:show global variables like ‘%coll%’