【FAQ】Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_0900_ai_ci,COERCIBLE)

当执行数据库查询时,遇到`Illegal mix of collations`异常,表示SQL语句中的字段编码不一致。解决方法包括检查并修改数据库编码,重置连接池。涉及命令包括查看数据库编码信息、调整default_collation_for_utf8mb4到utf8mb4_general_ci,如果涉及视图则需要重建。修改后需验证功能是否正常。
摘要由CSDN通过智能技术生成

异常信息

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%’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值