您的位置:首页 > 汽车 > 时评 > 软件设计师中级资料_微信怎么弄小程序店铺_最近一周新闻大事件_深圳全网信息流推广公司

软件设计师中级资料_微信怎么弄小程序店铺_最近一周新闻大事件_深圳全网信息流推广公司

2025/8/15 18:03:43 来源:https://blog.csdn.net/m0_73457571/article/details/146198507  浏览:    关键词:软件设计师中级资料_微信怎么弄小程序店铺_最近一周新闻大事件_深圳全网信息流推广公司
软件设计师中级资料_微信怎么弄小程序店铺_最近一周新闻大事件_深圳全网信息流推广公司

在使用MySQL数据库时,开发者可能会遇到类似 java.sql.SQLException: Illegal mix of collations 的错误。这种错误通常由不同字符集排序规则(Collation)的字段或值在查询中被混合使用引起。本文将通过一个实际案例,解析错误原因并提供解决方案。

遇到的问题:

java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '=' 

 

错误信息提到在操作符'='时,utf8mb4_general_ci和utf8mb4_0900_ai_ci这两种collation不兼容。 

Collation(排序规则) 是MySQL中用于定义字符串比较、排序和搜索行为的规则。它决定了字符的权重和等价性。例如:

utf8mb4_general_ci:较旧的排序规则,不区分大小写(ci表示Case Insensitive)。
utf8mb4_0900_ai_ci:MySQL 8.0引入的新规则,支持Unicode 9.0标准,区分重音和某些特殊字符(ai表示Accent Insensitive)。
当两个不同Collation的字段被比较时,MySQL无法确定使用哪种规则,从而抛出异常

 原因分析:

解决方法: 

 原本排序规则是这个utf8mb4_0900_ai_ci,跟别的表 不符合,我就改成了统一了utf8mb4_general_ci

wk_crm_make这个是我的表名根据需要改成自己的就可以了;

分别执行这两SQL语句就可以了,

SHOW CREATE TABLE wk_crm_make ;

ALTER TABLE wk_crm_make CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com