Illegal mix of collations (utf8mb4_0900_as_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for opera

mysq报错 Illegal mix of collations (utf8mb4_0900_as_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation ‘=’

现象:

执行sql语句
select t2.ID,t2.NAME,t4.DOCUMENT_PAGE,T5.USER_NAME from se_task_plan_template t1 inner join se_task_plan_task_data t2 on t1.id=t2.task_id inner join se_basic_data t3 on t2.type_id=t3.id
inner join se_development_version_list t4 on t2.development_version_id=t4.id inner join sys_user t5 on t4.creator=t5.user_id where t1.project_id=‘4MBRH4NKTUKG’ and t3.column1=‘工作产品’ and t2.in_out=‘2’
and not exists(select 1 from se_task_plan_template where parent_id=t1.id )
报错如下:
在这里插入图片描述

分析:

该错误由于多表联接时,关联字段的字符集不一致。
FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子 表2.字段2
两个表连接的字段,譬如 [表1.字段1=表2.字段2],必须具有相同的字段类型,但是字段名称不需要相同且字符集和排序规则必须一致

解决方案:

逐一查找各表的关联字段,修改为一致字符集或排序规则即可。
上示例sql通过查找sys_user表中的user_id与se_development_version_list表中的creator排序规则不一致。
在这里插入图片描述
在这里插入图片描述
修改排序规则后执行成功如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值