sql报错非法的字符校对Illegal mix of collations

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 decimal(18,0) DEFAULT NULL COMMENT '创建人',
CATEGORY_ID decimal(18,0) DEFAULT NULL COMMENT '分类id',
DESCR varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述',
ACTIVE_TIME datetime DEFAULT NULL COMMENT '生效时间',
INACTIVE_TIME datetime DEFAULT NULL COMMENT '失效时间',
CREATE_TIME datetime NOT NULL COMMENT '创建时间',
UPDATE_TIME datetime NOT NULL COMMENT '更新时间',
FLOW_TYPE varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '作业流类型',
STATUS varchar(2) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '状态',
CLAIM_ID decimal(65,0) DEFAULT NULL COMMENT '报警主键',
UPDATE_USER decimal(18,0) DEFAULT NULL COMMENT '修改人id',
PROJECT_ID decimal(18,0) DEFAULT NULL COMMENT '项目id',

PRIMARY KEY (ID),

KEY CATEGORY_FLOW_FK (CATEGORY_ID) BLOCK_SIZE 16384 GLOBAL

) DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = '作业流';

CREATE TABLE dmgr_param (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
param_type char(32) DEFAULT NULL COMMENT '参数类型',
param_name char(32) DEFAULT NULL COMMENT '参数名称',
param_value char(32) DEFAULT NULL COMMENT '参数值',
content char(64) DEFAULT NULL COMMENT '参数内容',
operation_user char(32) DEFAULT NULL COMMENT '用户',
create_time datetime DEFAULT NULL,
update_time datetime DEFAULT NULL,

PRIMARY KEY (id),

UNIQUE KEY param_type (param_type, param_name) BLOCK_SIZE 16384 GLOBAL

) AUTO_INCREMENT = 1000182 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = '参数表';

  1. 修改表的字符集(有的数据库不支持修改,需要删除表重建)
    alter table dmgr_param convert to CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

3.重新执行就不报错了

相关推荐
Htr_19 分钟前
Anysite.io 使用指南:把整个 Web 变成 AI 智能体的数据库
前端·数据库·人工智能
Lyra_Infra33 分钟前
记一次麒麟 Linux 下达梦数据库 (DM8) 部署与 MySQL 命令行无界面迁移踩坑指南
数据库·后端·dba
晚安日记wanna34 分钟前
只会答加索引MySQL 调优还能聊这 7 个点
数据库·面试
YHHLAI36 分钟前
从零理解 Agent Memory 管理:内存记忆、文件持久化与上下文截断
数据库·oracle
cspttty1 小时前
2026市场分析师校招能力模型:SQL、Excel、BI与业务分析
大数据·数据库
AIGC大时代1 小时前
OpenAI Agents SDK 工程笔记:tool 调用循环、max_turns 与生产禁区
服务器·数据库·笔记·tool·max_turns·functiontool·生产禁区
zcmodeltech1 小时前
能源电力沙盘模型控制系统设计——基于STM32与Modbus RTU的“发—输—变—配—用”全链条动态展示方案
数据库·stm32·单片机·嵌入式硬件·能源
李兆龙的博客1 小时前
从一到无穷大 #91:从 Habitat 看存储平台的整合与分工
数据库·人工智能·架构
惜分飞2 小时前
记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复---惜分飞
数据库·oracle
cspttty2 小时前
2026秋招供应链分析师技能栈:SQL、Excel、BI与业务分析
数据库·sql·excel