MySQL同步推送数据到MySQL时tinyint(1)类型时失败问题

背景

最近在负责的一个大数据产品项目中,有一个数据推送/同步数据的功能。

问题报错

生产环境的MySQL数据同步到预发环境。业务同学反馈数据同步失败,预发环境的数据不对。
从数据源获取数据的SQL语句为:

select
id,name,sort,type,url,inserttime,updatetime,isactive
from
rhinoce_menu

推送到预发环境的表,和生产环境的表字段,数量和类型完全一致。当然,目的数据源的数据表字段允许多余源头数据源的数据表字段。

排查

测试环境并没有复现这个问题。

注意到只有一个字段和源头的数据表字段不一样,就是type,无意间发现其类型为tinyint(1),隐隐约约感觉定位到问题根源。于是翻了下自己的博客。乖乖!!发现2020年8月份写过一篇类似的文章:Mybatis笔记之tinyint自动转型为boolean

验证

本地修改一下测试数据表的字段类型为tinyint(1)
在这里插入图片描述

参考

解决mysql数据库tinyInt(1) 转换为java的Boolean解决方案

posted @   johnny233  阅读(74)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示