From 756671a6321ff1200eac93e4506d0cc6e960d093 Mon Sep 17 00:00:00 2001 From: Brianna Date: Fri, 28 Aug 2020 18:21:58 -0500 Subject: [PATCH] On conflict update. --- .../com/songoda/ultimatestacker/database/DataManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java index 942b14d..c243c64 100644 --- a/src/main/java/com/songoda/ultimatestacker/database/DataManager.java +++ b/src/main/java/com/songoda/ultimatestacker/database/DataManager.java @@ -133,12 +133,15 @@ public class DataManager extends DataManagerAbstract { public void createStackedEntities(ColdEntityStack hostStack, List stackedEntities) { this.queueAsync(() -> this.databaseConnector.connect(connection -> { if (hostStack.getHostUniqueId() == null) return; - String createSerializedEntity = "INSERT INTO " + this.getTablePrefix() + "stacked_entities (uuid, host, serialized_entity) VALUES (?, ?, ?)"; + String createSerializedEntity = "INSERT INTO " + this.getTablePrefix() + "stacked_entities (uuid, host, serialized_entity) VALUES (?, ?, ?)" + + "ON CONFLICT(uuid) DO UPDATE SET host = ?, serialized_entity = ?"; try (PreparedStatement statement = connection.prepareStatement(createSerializedEntity)) { for (StackedEntity entity : stackedEntities) { statement.setString(1, entity.getUniqueId().toString()); statement.setInt(2, hostStack.getId()); statement.setBytes(3, entity.getSerializedEntity()); + statement.setInt(4, hostStack.getId()); + statement.setBytes(5, entity.getSerializedEntity()); statement.addBatch(); } statement.executeBatch();