# 针对字符串比较时发生错误
java.sql.SQLException: Illegal mix of collations (utf8_esperanto_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=';
# 查看表之间的编码是否一致;
show create table <表名>;
# 如果表不一致,修改其中一个表的编码格式,使其表间编码一致
alter table <表名> character set utf8 COLLATE utf8_general_ci;
# 表间编码一致仍出现同样错误,查询(相关查询语句的,=号两边)字段之间是否一致
show full columns from <表名>;
select charset(<字段名>) from<表名>;
# 修改字段编码
alter table <表名> modify <字段名> <字段类型> character set utf8 collate utf8_general_ci;
# 针对5.7新特性(derived_merge),使用多个join(select)表连接合并,执行速度缓慢问题,取消优化器derived_merge参数
show global variables like '%switch%';
set session optimizer_switch = 'derived_merge=off';
set global optimizer_switch = 'derived_merge=off';
【MySQL】常见问题及其解决方案
最新推荐文章于 2024-03-29 14:24:34 发布