泽兴芝士网

一站式 IT 编程学习资源平台

MySQL查询报错 Unknown type '245 in column 11 of 16 in binary 解决办法


摘要: MySQL查询报错 Unknown type '245 in column 11 of 16 in binary-encoded result set 解决办法

关键词: MySQL、版本差异、报错、解决办法

整体说明

在使用MySQL的时候,出现这个报错,整理了一下解决思路,大致如下:

一、问题背景

工作中有个任务,是把MySQL 8.x的数据,同步数据到另外一个 MySQL 5.7.27版本 ,所以我就把表结构导出,然后在目的数据库直接执行了表结构,然后通过一个集成平台,直接把数据集成过去。

二、问题现象

  • 建表语句正常执行,没有报错
  • 集成任务正常执行,数据正常插入目的数据库,没有报错
  • 查询表,报错 报错截图如下: 报错信息:ERROR: [S1000][0][耗时:94毫秒] Unknown type '245 in column 11 of 16 in binary-encoded result set.

三、问题分析

表结构信息

由报错信息和表结构分析得知,报错字段是JSON字段。

然后查阅官方文档,得知 MySQL服务端在 5.7.8版本支持JSON字段,MySQL客户端连接,在5.1.37版本开始支持JSON字段。

查询目的数据库的版本,得到 版本为5.7.27-log,说明服务端支持

查询执行SQL查询的客户端连接版本,得到对应版本为5.1.31版本,不支持。所以才会报错

四、解决方案

  1. 升级平台客户端 Java 驱动版本
  2. 把表结构中JSON字段类型,替换成LONGTEXT

五、最终解决

方案1可以永久解决,但是解决周期太长。 项目最终选择方案 2,修改所有带JSON字段的表结构为LONGTEXT,然后重新执行,解决查询报错问题。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言