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

embedded/2025/1/14 16:48:36/

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.重新执行就不报错了


http://www.ppmy.cn/embedded/153883.html

相关文章

wsl2上mysql出现ip端口冲突问题

现象出现于win11系统wsl2平台跑ubuntu,在win11 22h2之后提供固化wsl ip地址的功能,具体可以百度,大概是在C:/用户/用户名文件夹下新建.wslconfig文件,其中添加固化IP地址的参数。 固化完毕后,wsl将不再使用虚拟ip&…

vue3+elementPlus之后台管理系统(从0到1)(day1)

vue3官方文档:https://cn.vuejs.org/guide/introduction.html 1、项目创建 确保电脑已安装node 查看命令: node -v进入项目目录,创建项目 npm init vuelatest Need to install the following packages: create-vue3.13.0 Ok to procee…

蓝桥杯备考:数据结构之栈 和 stack

目录 栈的概念以及栈的实现 STL 的stack 栈和stack的算法题 栈的模板题 栈的算法题之有效的括号 验证栈序列 后缀表达式 括号匹配 栈的概念以及栈的实现 栈是一种只允许在一端进行插入和删除的线性表 空栈:没有任何元素 入栈:插入元素消息 出…

docker虚拟机平台未启用问题

在终端中输入如下代码,重启电脑即可 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform 对于Docker Desktop - Unexpected WSL error问题 参考链接 解决WSL2与docker冲突问题

Excel 技巧07 - 如何计算到两个日期之间的工作日数?(★)如何排除节假日计算两个日期之间的工作日数?

本文讲了如何在Excel中计算两个日期之间的工作日数,以及如何排除节假日计算两个日期之间的工作日数。 1,如何计算到两个日期之间的工作日数? 其实就是利用 NETWORKDAYS.INTL 函数 - weekend: 1 - 星期六,星期日 2,如…

代码随想录day24 | 贪心算法理论基础 leetcode 455.分发饼干 376.摆动序列 53. 最大子序和

贪心算法理论基础 贪心算法是一种在每一步选择中都做出当前看起来最优的选择,从而期望通过局部最优解得到全局最优解的算法。贪心算法的基本思想是:在解决问题时,尽量选择当前最好的选项,最终达到全局最优解. 分发饼干 题目&am…

20_Spring Boot默认缓存管理

从这么模块开始给大家介绍Redis应用的相关知识。主要的学习目标见下: 了解Spring Boot的默认缓存管理掌握Spring Boot的常用缓存注解掌握Spring Boot如何整合Redis掌握Spring Boot中使用Redis实现缓存掌握Spring Boot中自定义Redis缓存序列化机制掌握StringRedisTemplate操作R…

uc/os-II 原理及应用(八) 系统裁减以及移植到51单片机上

两个习题 先了解下CPU上函数调用的过程: 一个程序取得函数地址,先保护现场将局部变量及参数压栈,再将调用函数的参数压栈,然后跳转到函数位置,将参数出栈,执行代码,结束后返回到调用位置,再恢复…