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

PostgreSQL-upserts med flere værdier

Multi-valued upsert er absolut muligt, og en væsentlig del af hvorfor indsæt ... om konflikt ... blev implementeret.

CREATE TABLE table1(col1 int, col2 text, constraint theconstraint unique(col1));

INSERT INTO table1 VALUES (1, 'parrot'), (4, 'turkey');

INSERT INTO table1 VALUES (1, 'foo'), (2,'bar'), (3,'baz')
ON CONFLICT ON CONSTRAINT theconstraint
DO UPDATE SET col2 = EXCLUDED.col2;

resulterer i

regress=> SELECT * FROM table1 ORDER BY col1;
 col1 | col2 
------+------
    1 | foo
    2 | bar
    3 | baz
    4 | turkey
(4 rows)

Hvis dokumenterne var uklare, bedes du indsende relevant feedback til pgsql-generelle mailingliste. Eller endnu bedre, foreslå en patch til dokumenterne.



  1. MySQL CSV-import:datetime-værdi

  2. pgDash-alternativer - PostgreSQL-databaseovervågning med ClusterControl

  3. Oprettelse af timer i Oracle Forms / Forms 6i og visning af et ur

  4. Mysql:find antallet af rækker, der har samme værdi den ene efter den anden