开发者社区 问答 正文

当表设置的主键对字段长度进行限定时,canal不识别该列

CREATE TABLE job_execution_script ( app_id INT(11) NOT NULL, job_id INT(11) NOT NULL, script_name VARCHAR(512) NOT NULL DEFAULT '', committer_name VARCHAR(128) NOT NULL DEFAULT '', PRIMARY KEY (app_id,job_id,script_name(100),committer_name) ) ENGINE=INNODB DEFAULT CHARSET=utf8; 当表结构如上时,canal会报 “unknow column script_name(100)” 的ERROR~ 谢谢~

异常栈为: 2018-06-20 10:51:32.960 [destination = ido001 , address = ido001/180.137.128.151:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:ido001[java.lang.RuntimeException: unknow column : script_name(100) at com.alibaba.otter.canal.parse.inbound.TableMeta.getFieldMetaByName(TableMeta.java:73) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.MemoryTableMeta.processTableElement(MemoryTableMeta.java:215) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.MemoryTableMeta.parse(MemoryTableMeta.java:151) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.MemoryTableMeta.find(MemoryTableMeta.java:106) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.compareTableMetaDbAndMemory(DatabaseTableMeta.java:288) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.applySnapshotToDB(DatabaseTableMeta.java:251) at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.rollback(DatabaseTableMeta.java:129) at com.alibaba.otter.canal.parse.inbound.mysql.AbstractMysqlEventParser.processTableMeta(AbstractMysqlEventParser.java:72) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:170) at java.lang.Thread.run(Thread.java:745) ]

原提问者GitHub用户linweijiang

展开
收起
绿子直子 2023-05-09 10:16:16 59 发布于北京 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 试试1.0.26版本

    原回答者GitHub用户agapple

    2023-05-10 09:29:32 发布于北京 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等