sql >> Databáze >  >> RDS >> PostgreSQL

jak emulovat insert ignore a na duplicitní aktualizaci klíče (sql merge) s postgresql?

S PostgreSQL 9.5 je to nyní nativní funkce (jako MySQL již několik let):

VLOŽTE... PŘI KONFLIKTU NEDĚLAT NIC/AKTUALIZOVAT ("UPSERT")

9.5 přináší podporu pro operace "UPSERT". INSERT je rozšířen o přijetí klauzule ON CONFLICT DO UPDATE/IGNORE. Tato klauzule specifikuje alternativní akci, kterou je třeba podniknout v případě možného duplicitního porušení.

...

Další příklad nové syntaxe:

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


  1. Proč PL/SQL nerespektuje oprávnění udělená rolemi?

  2. Jak spočítat všechny řádky při použití SELECT s LIMIT v dotazu MySQL?

  3. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Selhání komunikačního odkazu

  4. Jak zajistit, aby MySQL správně zvládalo UTF-8