PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL INSERT ON CONFLICT UPDATE (upsert) użyj wszystkich wykluczonych wartości

Postgres nie zaimplementował odpowiednika INSERT OR REPLACE . Z ON CONFLICT dokumenty (podkreślenie moje):

Może to być klauzula DO NIC lub DO UPDATE określająca dokładne szczegóły akcji UPDATE, która ma zostać wykonana w przypadku konfliktu.

Chociaż nie daje skrótu do wymiany, ON CONFLICT DO UPDATE ma zastosowanie bardziej ogólnie, ponieważ pozwala ustawić nowe wartości na podstawie istniejących danych. Na przykład:

INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Schematy Django i postgresql

  2. Skąd mam wiedzieć, czy moja kopia zapasowa PostgreSQL jest dobra?

  3. Jak Mod() działa w PostgreSQL

  4. postgresql generuje sekwencję bez przerw

  5. Nowe funkcje zgodności z Oracle w PostgresPlus Advanced Server 9.3Beta