sql >> Databasteknik >  >> RDS >> PostgreSQL

UPSERT i PostgreSQL med jOOQ

jOOQ 3.7+ stöder PostgreSQL 9.5:s ON CONFLICT klausul:

Den fullständiga PostgreSQL-leverantörsspecifika syntaxen stöds ännu inte, men du kan använda MySQL- eller H2-syntaxen, som båda kan emuleras med PostgreSQL:s ON CONFLICT :

MySQL INSERT .. ON DUPLICATE KEY UPDATE :

DSL.using(configuration)
   .insertInto(TABLE)
   .columns(ID, A, B)
   .values(1, "a", "b")
   .onDuplicateKeyUpdate()
   .set(A, "a")
   .set(B, "b")
   .execute();

H2 MERGE INTO ..

DSL.using(configuration)
   .mergeInto(TABLE, A, B, C)
   .values(1, "a", "b")
   .execute();


  1. Hur konfigurerar och använder jag MySQL med Django?

  2. Skapa en flerdimensionell array från fråga

  3. Hur kan jag hämta de senaste 12 månaderna från det aktuella datumet PLUS extra dagar till den första i den senaste månaden

  4. Få alla resultat med where-klausulen