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

Postgres upsert:skelne mellem nye og opdaterede rækker

Der er en måde uden at tilføje en kolonne til din tabel:

CREATE TABLE tbl(id int PRIMARY KEY, col int);
INSERT INTO tbl VALUES (1, 1);
INSERT INTO tbl(id, col)
VALUES (1,11), (2,22)
ON     CONFLICT (id) DO UPDATE
SET    col = EXCLUDED.col
RETURNING *, (xmax = 0) AS inserted;

Forklaring:



  1. FATAL:rollerod findes ikke

  2. MySQL-tidszoneforvirring

  3. Django- Sådan kortlægger du beskeder sendt mellem brugere

  4. MySQL BESTIL EFTER IN()