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)