1、条件:
表a使用的字符集和排序规则分别为 utf8mb4,utf8mb4_general_ci,表b使用的字符集和排序规则分别为 utf8mb4,utf8mb4_unicode_ci.两个表中都有 prod_id
2、问题:
使用 prod_id 进行联表查询时(inner join on a.prod_id=b.prod_id),报如下错误;
Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
3、解决:
查询时,使两边排序规则一致。sql如下所示:
inner join on a.prod_id=CONVERT(b.prod_id USING utf8mb4) COLLATE utf8mb4_general_ci