一 问题描述
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)。