From f2864ade8afd6c19566ec0bf45b854fad0a674dd Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Mon, 26 Aug 2024 19:15:03 +0200 Subject: [PATCH] Add UPSERT behavior to setJoinDate query Modified the SQL query in the setJoinDate method to use "ON DUPLICATE KEY UPDATE" for updating the date if the userId already exists. This ensures that duplicate entries are handled correctly by updating the existing record rather than creating a new one. --- .../java/com/alttd/database/queries/QueriesStaffJoinDate.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/database/queries/QueriesStaffJoinDate.java b/src/main/java/com/alttd/database/queries/QueriesStaffJoinDate.java index 6ee80f2..dc2c0c4 100644 --- a/src/main/java/com/alttd/database/queries/QueriesStaffJoinDate.java +++ b/src/main/java/com/alttd/database/queries/QueriesStaffJoinDate.java @@ -34,7 +34,7 @@ public class QueriesStaffJoinDate { } public static void setJoinDate(long userId, Instant date) { - String sql = "INSERT INTO staff_join_date (user_id, date) VALUES (?, ?)"; + String sql = "INSERT INTO staff_join_date (user_id, date) VALUES (?, ?) ON DUPLICATE KEY UPDATE date = VALUES(date)"; try (PreparedStatement preparedStatement = Database.getDatabase().getConnection().prepareStatement(sql)) { preparedStatement.setLong(1, userId);