pid:3 nid:1 exception:setl:com.alibaba.otter.node.etl.load.exception.LoadException: java.util.concurrent.ExecutionException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [update jz.jz_videos set category = ? where ( video_id = ? )]; Data truncated for column 'category' at row 1; nested exception is java.sql.SQLException: Data truncated for column 'category' at row 1
---Pks EventColumn[index=0,columnType=-5,columnName=video_id,columnValue=3280,isNull=false,isKey=true,isUpdate=true] ---oldPks
---Columns EventColumn[index=47,columnType=1,columnName=category,columnValue=-124,isNull=false,isKey=false,isUpdate=true] ---Sql update jz.jz_videos set category = ? where ( video_id = ? ) 原因:category字段总共有8个成员,当用到最高位时,该字段的value为一个负数,mysql执行时会提示warning,但是能成功执行,但是jdbc会抛异常导致同步停止。 请问有没有什么好的解决办法,不太了解java,源码看得头有点大,呜呜
为什么这里要用getInt8,而不用getUint8?如果使用getUint8是不是就不会出现set字段的value<0,jdbc就不会报异常了? 使用的是4.2.14版本,数据库sql_mode = NO_ENGINE_SUBSTITUTION,之前把这里改成getUint8之后可以正常同步。
原提问者GitHub用户l-dandelion
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。