sql报错非法的字符校对Illegal mix of collations
0.报错sql如下(查询单个表都没问题,关联就会报错):
SELECT
A.ID
,A.NAME
,A.SCH_TYPE
,A.CYCLE
,B.ID ISREPLY
,A.UPDATE_TIME
,A.DESCR
,A.CATEGORY_ID
,D.PARAM_NAME as fLOW_TYPE
FROM DMGR_FLOW A
LEFT JOIN DMGR_PARAM D ON A.FLOW_TYPE = D.PARAM_VALUE
;
Illegal mix of collations
1.查看建表语句,发现字符集不一样
一个是:CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
另一个是:CHARSET = utf8mb4
CREATE TABLE dmgr_flow
(
ID
decimal(18,0) NOT NULL,
NAME
varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ‘作业流名称’,
CRON_EXPRESSION
varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ‘执行时间’,
SCH_TYPE
varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ‘调度类型’,
CYCLE
varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ‘调度周期’,
OWNER