From edc2fbe1dc359f8083b462bba2c24de30338d976 Mon Sep 17 00:00:00 2001 From: agapple Date: Mon, 12 Feb 2018 11:15:43 +0800 Subject: [PATCH] fixed issue #507 --- .../parse/inbound/mysql/tsdb/DatabaseTableMeta.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java index 4ddf14ba..6844f035 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java @@ -443,11 +443,10 @@ public class DatabaseTableMeta implements TableMetaTSDB { return false; } - if (sourceField.isKey() != targetField.isKey()) { - return false; - } - - if (sourceField.isUnique() != targetField.isUnique()) { + // mysql会有一种处理,针对show create只有uk没有pk时,会在desc默认将uk当做pk + boolean isSourcePkOrUk = sourceField.isKey() || sourceField.isUnique(); + boolean isTargetPkOrUk = targetField.isKey() || targetField.isUnique(); + if (isSourcePkOrUk != isTargetPkOrUk) { return false; } }