PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres upsert:membedakan antara baris baru dan yang diperbarui

Ada cara tanpa menambahkan kolom ke tabel Anda:

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;

Penjelasan:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan kueri dinamis + tipe data yang ditentukan pengguna di Postgres

  2. KitchenPC dan Ironpython

  3. Elemen NULL hilang saat casting hasil unnest()

  4. Melakukan join kiri dengan join gaya lama

  5. rel diurutkan berdasarkan urutan tertentu