select
*
from
activity_person person
left join activity_info info
on info.serial_num = person.serial_num;
Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
查询语句中,,如上异常为两个表的编码格式不同,导致同为varchar的两个字段无法通过’='判断。
长期方案:通过改表语句,将库表字符集编码格式修改为utf8mb4_general_ci。
alter database dbtest CHARACTER SET utf8mb4_unicode_ci COLLATE utf8mb4_general_ci;
简单方案:查询语句上针对两个条件字段,手动指定编码格式。
select
*
from
activity_person pserson
left join activity_info info
on info.serial_num COLLATE utf8mb4_general_ci = pserson.serial_num COLLATE utf8mb4_general_ci ;