记录 canal 处理 tinyint1 类型问题

本贴最后更新于 361 天前,其中的信息可能已经时移世易

问题现象

原系统字段类型 tiny(1)

数据 0,同步后 0

数据 1,同步后 1

数据 2,同步后 2

原因

如果 tinyInt1isBit=true(默认),且 tinyInt 存储长度为 1,则转为 java.lang.Boolean,否则转为 java.lang.Integer。

解决方案

1、避免使用长度为 1 的 tinyint 类型字段存储数字格式的数据,tinyInt(1) 只用来代表 Boolean 含义的字段。其中 0 代表 False,1 代表 True。如果要存储多个数值,则定义为 tinyInt(N), N>1。例如 tinyInt(2)

2、JDBC 的 URL 增加 tinyInt1isBit=false 参数,注意参数名区分大小写,否则不生效。

————————————————

版权声明:本文为 CSDN 博主「车万白野兔」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_36360543/article/details/113635154

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • Canal
    3 引用
  • JDBC
    18 引用 • 24 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...