2018-02-25 10:23:39.643 [destination = example , address = rds9h7gi6v2fo2og5202.mysql.rds.aliyuncs.com/100.98.57.68:3306 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta - pls submit github issue, show create table ddl:CREATE TABLE center_institution_admin
( id
bigint(20) NOT NULL AUTO_INCREMENT, account
varchar(20) NOT NULL COMMENT '账号', cinst_id
bigint(20) NOT NULL COMMENT '机构id', status
int(11) DEFAULT '1' COMMENT '0:关闭,1:开启', gmt_create
datetime DEFAULT CURRENT_TIMESTAMP, gmt_modify
datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, name
varchar(50) DEFAULT NULL COMMENT '账号角色名称', parent_id
bigint(20) NOT NULL DEFAULT '0' COMMENT '父账号ID', permissions
varchar(500) DEFAULT '0' COMMENT '账号权限码', remark
varchar(256) DEFAULT NULL, default_account
int(11) DEFAULT '0', PRIMARY KEY (id
), UNIQUE KEY inst_account_unique_index
(cinst_id
,account
), KEY parent_id_index
(parent_id
), KEY center_institution_admin_account_index
(account
) ) ENGINE=InnoDB AUTO_INCREMENT=967573674662035553 DEFAULT CHARSET=utf8 COMMENT='中心机构管理账号表' , compare failed . db : TableMeta [schema=xiaomai, table=center_institution_admin, fileds= FieldMeta [columnName=id, columnType=bigint(20), nullable=false, key=true, defaultValue=null, extra=auto_increment, unique=false] FieldMeta [columnName=account, columnType=varchar(20), nullable=false, key=false, defaultValue=null, extra=, unique=false] FieldMeta [columnName=cinst_id, columnType=bigint(20), nullable=false, key=false, defaultValue=null, extra=, unique=false] FieldMeta [columnName=status, columnType=int(11), nullable=true, key=false, defaultValue=1, extra=, unique=false] FieldMeta [columnName=gmt_create, columnType=datetime, nullable=true, key=false, defaultValue=CURRENT_TIMESTAMP, extra=, unique=false] FieldMeta [columnName=gmt_modify, columnType=datetime, nullable=true, key=false, defaultValue=CURRENT_TIMESTAMP, extra=on update CURRENT_TIMESTAMP, unique=false] FieldMeta [columnName=name, columnType=varchar(50), nullable=true, key=false, defaultValue=null, extra=, unique=false] FieldMeta [columnName=parent_id, columnType=bigint(20), nullable=false, key=false, defaultValue=0, extra=, unique=false] FieldMeta [columnName=permissions, columnType=varchar(500), nullable=true, key=false, defaultValue=0, extra=, unique=false] FieldMeta [columnName=remark, columnType=varchar(256), nullable=true, key=false, defaultValue=null, extra=, unique=false] FieldMeta [columnName=default_account, columnType=int(11), nullable=true, key=false, defaultValue=0, extra=, unique=false] ] mem : TableMeta [schema=xiaomai, table=center_institution_admin, fileds= FieldMeta [columnName=id, columnType=bigint(20), nullable=false, key=true, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=account, columnType=varchar(20), nullable=false, key=false, defaultValue=null, extra=null, unique=true] FieldMeta [columnName=cinst_id, columnType=bigint(20), nullable=false, key=false, defaultValue=null, extra=null, unique=true] FieldMeta [columnName=status, columnType=int(11), nullable=true, key=false, defaultValue=1, extra=null, unique=false] FieldMeta [columnName=gmt_create, columnType=datetime, nullable=true, key=false, defaultValue=CURRENT_TIMESTAMP, extra=null, unique=false] FieldMeta [columnName=gmt_modify, columnType=datetime, nullable=true, key=false, defaultValue=CURRENT_TIMESTAMP, extra=null, unique=false] FieldMeta [columnName=name, columnType=varchar(50), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=parent_id, columnType=bigint(20), nullable=false, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=permissions, columnType=varchar(500), nullable=true, key=false, defaultValue=0, extra=null, unique=false] FieldMeta [columnName=remark, columnType=varchar(256), nullable=true, key=false, defaultValue=null, extra=null, unique=false] FieldMeta [columnName=default_account, columnType=int(11), nullable=true, key=false, defaultValue=0, extra=null, unique=false] ]
使用的是目前master分支最新代码,#507 的问题似乎没有解决.
测试表中UK是一个联合索引(cinst_id,account),因此在单独field上的unique标志应该为false,但mem中的数据对于单独field也为true
原提问者GitHub用户bailaohe
通过desc table这样的方式,获取uk时针对多列情况会出现MUL的列,导致无法精确获取对应的uk列。修复的方式使用show create table进行完整解析
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。