diff --git a/common/tskv/src/main/java/com/thing/common/tskv/service/LatestNativeSQL.java b/common/tskv/src/main/java/com/thing/common/tskv/service/LatestNativeSQL.java index d10b64d..1c60198 100644 --- a/common/tskv/src/main/java/com/thing/common/tskv/service/LatestNativeSQL.java +++ b/common/tskv/src/main/java/com/thing/common/tskv/service/LatestNativeSQL.java @@ -53,9 +53,9 @@ public class LatestNativeSQL { } }); if (DatabaseType.MYSQL.equals(dataType) || DatabaseType.Tidb.equals(dataType)) { - sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val),ts = VALUES(ts)"); + sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val),ts = VALUES(ts),YEAR = VALUES(YEAR),MONTH = VALUES(MONTH),DAY = VALUES(DAY),HOUR = VALUES(HOUR),MINUTE = VALUES(MINUTE)"); } else if (DatabaseType.PG.equals(dataType) || DatabaseType.Timescale.equals(dataType)) { - sql.append(" ON CONFLICT (thing_code, attr_key) DO UPDATE SET val = EXCLUDED.val,ts= EXCLUDED.ts"); + sql.append(" ON CONFLICT (thing_code, attr_key) DO UPDATE SET val = EXCLUDED.val,ts= EXCLUDED.ts,YEAR = EXCLUDED.YEAR,MONTH = EXCLUDED.MONTH,DAY = EXCLUDED.DAY,HOUR = EXCLUDED.HOUR,MINUTE = EXCLUDED.MINUTE"); } sql.append(";"); return sql.toString(); diff --git a/common/tskv/src/main/java/com/thing/common/tskv/service/TsKvNativeSQL.java b/common/tskv/src/main/java/com/thing/common/tskv/service/TsKvNativeSQL.java index 7855988..b4ada46 100644 --- a/common/tskv/src/main/java/com/thing/common/tskv/service/TsKvNativeSQL.java +++ b/common/tskv/src/main/java/com/thing/common/tskv/service/TsKvNativeSQL.java @@ -111,9 +111,9 @@ public class TsKvNativeSQL { } }); if (DatabaseType.MYSQL.equals(dataType) || DatabaseType.Tidb.equals(dataType)) { - sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val)"); + sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val),YEAR = VALUES(YEAR),MONTH = VALUES(MONTH),DAY = VALUES(DAY),HOUR = VALUES(HOUR),MINUTE = VALUES(MINUTE)"); } else if (DatabaseType.PG.equals(dataType) || DatabaseType.Timescale.equals(dataType)) { - sql.append(" ON CONFLICT (thing_code, attr_key, ts) DO UPDATE SET val = EXCLUDED.val"); + sql.append(" ON CONFLICT (thing_code, attr_key, ts) DO UPDATE SET val = EXCLUDED.val,YEAR = EXCLUDED.YEAR,MONTH = EXCLUDED.MONTH,DAY = EXCLUDED.DAY,HOUR = EXCLUDED.HOUR,MINUTE = EXCLUDED.MINUTE"); } sql.append(";"); return sql.toString(); @@ -161,9 +161,9 @@ public class TsKvNativeSQL { } }); if (DatabaseType.MYSQL.equals(dataType) || DatabaseType.Tidb.equals(dataType)) { - sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val)"); + sql.append(" ON DUPLICATE KEY UPDATE val = VALUES(val),YEAR = VALUES(YEAR),MONTH = VALUES(MONTH),DAY = VALUES(DAY),HOUR = VALUES(HOUR),MINUTE = VALUES(MINUTE)"); } else if (DatabaseType.PG.equals(dataType) || DatabaseType.Timescale.equals(dataType)) { - sql.append(" ON CONFLICT (thing_code, attr_key, ts) DO UPDATE SET val = EXCLUDED.val"); + sql.append(" ON CONFLICT (thing_code, attr_key, ts) DO UPDATE SET val = EXCLUDED.val,YEAR = EXCLUDED.YEAR,MONTH = EXCLUDED.MONTH,DAY = EXCLUDED.DAY,HOUR = EXCLUDED.HOUR,MINUTE = EXCLUDED.MINUTE"); } sql.append(";"); return sql.toString();