canal同步中源端数据类型为tinyint的字段同步异常-目标端值变为1
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canal同步中源端数据类型为tinyint的字段同步异常-目标端值变为1相关的知识,希望对你有一定的参考价值。
一 问题描述
canal同步中有一个表t51,其中名为id2的字段数据类型为tinyint(1),发现往这个字段里插入大于1的值时,目标端该字段值都为1,和源端值不一致。
示例:
在源端执行:
INSERT INTO t51(id,id2) VALUES(1,3);
目标端t51的id2值为1,不是3。
canal client里adapter.log输出的日志能看到insert语句id2值是3,但是mariadb的binlog日志中记录的id2位1。
二 解决办法
调大该字段的长度,至少变为tinyint(2),不要设置成tinyinit(1)。
以上是关于canal同步中源端数据类型为tinyint的字段同步异常-目标端值变为1的主要内容,如果未能解决你的问题,请参考以下文章
canal同步报错:Duplicate column name ‘name2‘
canal同步报错:Duplicate column name ‘name2‘
canal同步报错Target column: NAME not matched