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


摘要: 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,然后重新执行,解决查询报错问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏说大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值