问题原因参考:

http://t.zoukankan.com/zhulei2-p-13451554.html

collations 排序规则

Illegal mix 非法混合

SQL报错指出,操作符等号,非法混合了不同的字符集

我先看看库字符集设定:

然后再看看两张表的:

CREATE TABLE `tm_company` (
`COMPANY_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'DEALER_ID',
`APP_ID` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`COMPANY_CODE` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司代码',
`COMPANY_TYPE` int(8) NOT NULL COMMENT '公司类型:1506,和org表org_type相同',
`COMPANY_NAME_CN` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司中文全称',
`COMPANY_NAME_EN` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司英文全称',
`COMPANY_SHORT_NAME_CN` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司简称中文',
`COMPANY_SHORT_NAME_EN` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司简称英文',
`PROVINCE_ID` int(11) DEFAULT NULL COMMENT '省份',
`PROVINCE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省份',
`CITY_ID` int(11) DEFAULT NULL COMMENT '城市',
`CITY_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '城市',
`COUNTY_ID` int(11) DEFAULT NULL COMMENT '所在区县',
`COUNTY_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所在区县',
`ADDRESS_CN` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司地址中文',
`ADDRESS_EN` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司地址英文',
`COMPANY_KIND` int(8) DEFAULT NULL COMMENT '经销商类型2538:4S店、单一销售、单一售后、直营店、非直营、大客户',
`USED_COMPANY_CODE` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '曾用经销商code',
`TRANSFER_COMPANY_CODE` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '转为经销商code',
`ORG_ID` bigint(20) DEFAULT NULL COMMENT '组织ID,与组织表对应',
`GROUP_ORG_ID` bigint(20) DEFAULT NULL COMMENT '所属集团的组织ID',
`VALID_STATUS` int(8) DEFAULT NULL COMMENT '有效状态:1001',
`DATA_TYPE` int(8) DEFAULT NULL COMMENT '数据类型1046:经销商、集团、车厂',
`COMPANY_PROPERTITY` int(8) DEFAULT NULL COMMENT '经销商属性(普通/车厂虚拟/区域虚拟)',
`LINK_MAN` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系人',
`PHONE` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系电话',
`ZIP_CODE` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮编',
`FAX` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '传真',
`E_MAIL` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'E_MAIL',
`LATITUDE` double(28,20) DEFAULT NULL COMMENT '经度',
`LONGITUDE` double(28,20) DEFAULT NULL COMMENT '维度',
`COMPANY_HOMEPAGE` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '公司主页',
`OPEN_DATE` date DEFAULT NULL COMMENT '开业日期',
`CLOSE_DATE` date DEFAULT NULL COMMENT '停业日期',
`CREATED_DATE` date DEFAULT NULL COMMENT '建站日期',
`IS_USED_CAR` tinyint(4) DEFAULT NULL COMMENT '是否经营二手车1004',
`STATUS` int(8) DEFAULT NULL COMMENT ' 业务显示:待开业,已开业,停业',
`REMARK` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
`DEALER_COUNT` int(4) DEFAULT NULL COMMENT '经销商店数量',
`IS_MAIN` int(8) DEFAULT NULL COMMENT '是否主店:多家经销商渠道的时候区分哪个主店',
`BUSINESS_BEGIN_HOURS` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '营业开始时间',
`BUSINESS_END_HOURS` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '营业结束时间',
`CHANNEL_PICTURE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '经销商图片',
`USER_ID` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理员ID',
`OLD_DEALER_CODE` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'CDK DMS 代码',
`RECORD_VERSION` int(11) NOT NULL DEFAULT '0' COMMENT 'RECORD_VERSION',
`CREATED_BY` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '-1' COMMENT 'CREATED_BY',
`CREATED_AT` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'CREATED_AT',
`UPDATED_BY` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '-1' COMMENT 'UPDATED_BY',
`UPDATED_AT` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'UPDATED_AT',
`IS_DELETED` tinyint(4) NOT NULL DEFAULT '0',
`IS_SATELLITE_STORE` int(8) DEFAULT '10041002' COMMENT '是否卫星店',
`OWNED_COMPANY_NAME` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属经销商',
PRIMARY KEY (`COMPANY_ID`) USING BTREE,
UNIQUE KEY `AK_TM_COMPANY_10` (`APP_ID`,`COMPANY_CODE`) USING BTREE,
KEY `IDX_TM_COMPANY_10` (`ORG_ID`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1273161411814670341 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='公司表,车厂、经销商公司、经销商集团等';

专属价格表:

CREATE TABLE `tm_part_own_price` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`OWNER_CODE` varchar(36) DEFAULT NULL COMMENT '所有者代码(经销商?)',
`PART_NO` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '配件代码',
`OWN_PRICE` decimal(10,2) DEFAULT NULL COMMENT '专属价格',
`BEGIN_AT` datetime DEFAULT NULL COMMENT '开始时间',
`END_AT` datetime DEFAULT NULL COMMENT '结束时间',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`CREATE_BY` bigint(20) DEFAULT NULL COMMENT '创建者代码',
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`UPDATE_BY` bigint(20) DEFAULT NULL COMMENT '更新者代码',
`RECORD_VERSION` bigint(11) DEFAULT NULL COMMENT '乐观锁记录',
PRIMARY KEY (`ID`),
KEY `IDX_OWNER_CODE` (`OWNER_CODE`) USING BTREE COMMENT '所有者代码索引',
KEY `IDX_PART_NO` (`PART_NO`) USING BTREE COMMENT '配件代码索引'
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='配件专属价格表';

专属表是我自己写的,默认走库的字符集,但是tm_company表是复制过来的,字符集和库和我的表不一致

要解决这个报错就是统一一致的字符集设定,鉴于库是900_ai_ci,应该是更改company表的字符集

但是随后发现还是报这个错误:

除了表级别的字符集,字段级别的也有设置字符集

连表的条件:

tm_part_own_price price
JOIN tm_company coop ON price.OWNER_CODE = coop.COMPANY_CODE

查看链表的字段字符集:

`COMPANY_CODE` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司代码',
`OWNER_CODE` varchar(36) DEFAULT NULL COMMENT '所有者代码(经销商?)',

OWNER_CODE没有设置,默认跟表字符集一起是900_ai_ci,而company表还是general_ci

再找到字段进行修改,这时终于正常了

 

【MySQL】java.sql.SQLException: Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='的更多相关文章

  1. java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 异常处理,及MySQL数据库编码设置

    java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,C ...

  2. java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='

    查询视图时报错:java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_ ...

  3. 【MySQL】java.sql.SQLException: The server time zone value

    错误:Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: The se ...

  4. 【MySQL】java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB3' for column

    问题原因: 输入内容包含特殊字符,MySQL 中的列不支持. 解决方法 多数是修改 MySQL 的数据库和表结构,CHARSET 改为 utf8mb4,但本人测试还是不能传入 emoji. 后来在代码 ...

  5. 【JDBC】java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

    在使用阿里的druid 时,报了一个异常java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized ...

  6. 【异常】java.sql.SQLException: Could not retrieve transaction read-only status from server Query

    1 详细异常 java.sql.SQLException: Could not retrieve transaction read-only status , ], [ChargingOrderRea ...

  7. 【转】java.sql.SQLException: statement is closed语句被关闭 druid连接池报错

    我之前在用druid 1.0.28版本也出现过这个问题, 现象就是: 报这个错的时候, 往往会出现在一条毫无错误的sql执行上报错,  sql放到数据库上执行或者单独拎出来执行完全没问题, 但是为什么 ...

  8. java.sql.SQLException: Illegal connection port value '3306:success'

    严重: Servlet.service() for servlet jsp threw exceptionjava.sql.SQLException: Illegal connection port ...

  9. 【SQL】 java.sql.SQLException: You can't specify target table 'emp' for update in FROM clause

    在执行sql: delete from emp where id in (select id from emp where cdate<'2018-02-02') 时报出以下异常: ### Th ...

  10. 【MySQL】为什么SQL会这么慢

    建表 CREATE TABLE `ts_ab` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` varchar(20) CHARACTER ...

随机推荐

  1. vue3项目安装依赖报错 npm ERR! code ERESOLVE

    vue3项目安装依赖报错 npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While reso ...

  2. Mysql性能优化(详解)

    引言 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操 ...

  3. Go 语言中的异常处理简单实践 panic、recover【GO 基础】

    〇.Go 中的异常处理简介 Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误. panic.recover 参数类型为 interface{},因此可抛出任何类型对象 ...

  4. Failed to connect to codeup.aliyun.com port 443 after 21017 ms: Couldn't connect to server Git

    Git拉取出现这个错误 Failed to connect to codeup.aliyun.com port 443 after 21017 ms: Couldn't connect to serv ...

  5. Windows10(or windows11) Hyper-V 创建虚拟交换机后宿主机上传速度变特别慢的问题解决

    问题 我在我的win11上启用了Hyper-v,装了个虚拟机跑了个CentOS7.6,为了让centos和宿主机通信在同个网段搞了个桥接网络,网络环境如下 然后我测试一个文件上传功能的时候发现网络上传 ...

  6. 大数据面试吹牛草稿V2.0

    面试吹牛之前先打个草稿! 各位面试官好! 我叫 xxx,毕业于 xxx,之前在 xxx 公司待了 1 年多,期间⼀直从事的是 IT 行业,刚开始的时候做的是 Java 开发后来转岗到大数据方向做大数据 ...

  7. Java面试知识点(四)重写和重载

    重写override 在 java 中有很多的继承,继承下来的有变量.方法.在有一些子类要实现的方法中,方法名.传的参数.返回值跟父类中的方法一样,但具体实现又跟父类的不一样,这时候我们就需要重写父类 ...

  8. 上交大开源镜像站下架 Docker Hub 镜像

    ​ 在现代软件开发中,Docker镜像已经成为不可或缺的工具.然而,最近频频出现的Docker镜像下架事件让许多开发者措手不及.突然失去依赖的镜像,不仅打乱了项目进程,还引发了许多不便.那么,面对Do ...

  9. 如何设置 QEMU 输出到控制台并使用 Shell 脚本自动化

    如何设置 QEMU 输出到控制台并使用 Shell 脚本自动化 原文:How to Setup QEMU Output to Console and Automate Using Shell Scri ...

  10. Android系统源码的整编和单编

    # Android系统源码的整编和单编 文章作者: 刘望舒 文章链接: http://liuwangshu.cn/framework/aosp/3-compiling-aosp.html 前言 很多时 ...