diff --git a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java index 78490aae..0780c4f0 100644 --- a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java +++ b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java @@ -245,7 +245,7 @@ public class RdbSyncService { StringBuilder insertSql = new StringBuilder(); insertSql.append("INSERT INTO ").append(SyncUtil.getDbTableName(dbMapping)).append(" ("); - columnsMap.forEach((targetColumnName, srcColumnName) -> insertSql.append(targetColumnName).append(",")); + columnsMap.forEach((targetColumnName, srcColumnName) -> insertSql.append("`").append(targetColumnName).append("`").append(",")); int len = insertSql.length(); insertSql.delete(len - 1, len).append(") VALUES ("); int mapLen = columnsMap.size(); @@ -327,7 +327,7 @@ public class RdbSyncService { if (!targetColumnNames.isEmpty()) { hasMatched = true; for (String targetColumnName : targetColumnNames) { - updateSql.append(targetColumnName).append("=?, "); + updateSql.append("`").append(targetColumnName).append("`").append("=?, "); Integer type = ctype.get(Util.cleanColumn(targetColumnName).toLowerCase()); if (type == null) { throw new RuntimeException("Target column: " + targetColumnName + " not matched"); @@ -447,7 +447,7 @@ public class RdbSyncService { if (srcColumnName == null) { srcColumnName = Util.cleanColumn(targetColumnName); } - sql.append(targetColumnName).append("=? AND "); + sql.append("`").append(targetColumnName).append("`").append("=? AND "); Integer type = ctype.get(Util.cleanColumn(targetColumnName).toLowerCase()); if (type == null) { throw new RuntimeException("Target column: " + targetColumnName + " not matched");