From 939af8aea6ae453dd97daeb2c75df5e5a4688c38 Mon Sep 17 00:00:00 2001 From: fangshunjian Date: Sun, 13 Jan 2019 09:55:38 +0600 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=20update=20group?= =?UTF-8?q?=20by=20=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nms_sync/src/com/nms/util/SyncCommon.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nms_sync/src/com/nms/util/SyncCommon.java b/nms_sync/src/com/nms/util/SyncCommon.java index 775fdc4..545beb8 100644 --- a/nms_sync/src/com/nms/util/SyncCommon.java +++ b/nms_sync/src/com/nms/util/SyncCommon.java @@ -60,6 +60,7 @@ public class SyncCommon { Integer mode = tableInfo.getMode(); StringBuilder sbSql = new StringBuilder(); String colums = getColums(columns, TABLE_NAME_ALIAS); + String updateIds = StrKit.notBlank(tableInfo.getUpdateIds())?tableInfo.getUpdateIds():idName ;//更新主键,多个逗号分隔,如果没有配置updateIds ,默认为 idName if(event == 2 && mode == 1 && ! columns.contains("*")) {//查询更新记录时 group by 找到符合条件最后一条记录 sbSql.append("select ").append(colums).append(",max(log.id) as tableeventlogid").append(" from ").append(tableName).append(" ").append(TABLE_NAME_ALIAS) .append(" left join table_event_log log on log.target_id = ").append(TABLE_NAME_ALIAS).append(".").append(idName) @@ -67,7 +68,7 @@ public class SyncCommon { if(StrKit.notBlank(where)) { sbSql.append(" and ( ").append(where).append(" )"); } - sbSql.append(" group by ").append(columns); + sbSql.append(" group by ").append(getColums(updateIds,TABLE_NAME_ALIAS)); sbSql.append(" order by ").append(" log.id ").append(" asc limit ? "); }else { sbSql.append("select ").append(getColums(columns, TABLE_NAME_ALIAS)).append(",log.id as tableeventlogid").append(" from ").append(tableName).append(" ").append(TABLE_NAME_ALIAS)