希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~
开篇说明
记录一个查询错误
场景:数据库之间某表复制移动;复制源数据库能正常使用,复制后的数据库在进行联表
查询时出现的关于数据库排序规则
相关的异常报错;
一、基础环境说明
考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境
1.1 硬件环境
MacOS Monterey 版本 12.6.8 Apple M1
1.2 软件环境
开发工具:Idea 2021
,navicat 15
编译环境:Java 1.8.0_171
,mybatis 3.0+
数据库:mysql8.0
二、报错信息
Cause: java.sql.SQLException: Illegal mix of
collations
(utf8mb4_general_ci,IMPLICIT
) and (utf8mb4_0900_ai_ci,IMPLICIT
) for operation ‘=’
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1267]; Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation ‘=’; nested exception is java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation ‘=’
从异常错误信息,能定位到问题出错的点在于sql查询,错误相关是排序规则的问题;
【1】首先确认我们的数据库两边这块的配置是否是一致的;
【2】定位到我们的查询语句是哪句SQL&#x