Ich benutze H2-Datenbank MERGE
Befehl, aber verstehe nicht einen Teil seiner documentation. Der störende Teil ist -Merge in H2-Datenbank
Wenn die Tabelle eine automatisch inkrementierte Schlüssel- oder Identitätsspalte enthält und die Zeile aktualisiert wurde, wird der generierte Schlüssel auf 0 gesetzt; andernfalls wird er auf den neuen Schlüssel gesetzt
ich die folgenden SQL-Anweisungen ausgeführt, um zu versuchen es
CREATE TABLE h2_test (id INTEGER PRIMARY KEY AUTO_INCREMENT, int INTEGER)
INSERT INTO h2_test (int) VALUES (42)
INSERT INTO h2_test (int) VALUES (43)
INSERT INTO h2_test (int) VALUES (44)
MERGE INTO h2_test (int) KEY(int) VALUES (45)
MERGE INTO h2_test (id, int) VALUES (5, 46)
MERGE INTO h2_test (id, int) VALUES (2, 47)
INSERT INTO h2_test (int) VALUES (48)
Die Tabelle sieht wie folgt aus, nachdem die obigen Aussagen
+---------+
| ID INT |
+---------+
| 1 42 |
| 2 47 |
| 3 44 |
| 4 45 |
| 5 46 |
| 6 48 |
+---------+
So zu verstehen nicht Egal, ob ich den Primärschlüssel in die MERGE
einfüge, wird er erhöht, wenn die Anweisung dazu führt, dass ein Datensatz hinzugefügt wird & lässt den bereits vorhandenen Wert unouc Wenn die Anweisung dazu führt, dass ein Datensatz aktualisiert wird.
Es wäre toll, wenn jemand Licht auf das, was Teil der Dokumentation der zitierte vergießen kann versucht