sql >> Database teknologi >  >> RDS >> PostgreSQL

hvordan man emulerer insert ignore og på duplikatnøgleopdatering (sql merge) med postgresql?

Med PostgreSQL 9.5 er dette nu native funktionalitet (som MySQL har haft i flere år):

INDSÆT ... VED KONFLIKT GØR INTET/OPDATERE ("UPSERT")

9.5 giver understøttelse af "UPSERT"-operationer. INSERT er udvidet til at acceptere en ON CONFLICT DO UPDATE/IGNORE-klausul. Denne klausul specificerer en alternativ handling, der skal tages i tilfælde af en formodet duplikatovertrædelse.

...

Yderligere eksempel på ny syntaks:

INSERT INTO user_logins (username, logins)
VALUES ('Naomi',1),('James',1) 
ON CONFLICT (username)
DO UPDATE SET logins = user_logins.logins + EXCLUDED.logins;


  1. Hvordan LYDER SOM virker i MariaDB

  2. Oracle Critical Patch Update – oktober 2020

  3. opatch forudgående

  4. Java SQLData - Cast til brugerobjekt med en liste/array?