sql >> Databasteknik >  >> RDS >> PostgreSQL

Kontrollera om poster finns i en Postgres-tabell

Detta bör fungera bra:

CREATE TEMP TABLE tmp AS SELECT * FROM tbl LIMIT 0 -- copy layout, but no data

COPY tmp FROM '/absolute/path/to/file' FORMAT csv;

INSERT INTO tbl
SELECT tmp.*
FROM   tmp
LEFT   JOIN tbl USING (tbl_id)
WHERE  tbl.tbl_id IS NULL;

DROP TABLE tmp; -- else dropped at end of session automatically

Nära besläktad med det här svaret .



  1. Tidsstämpel skillnad i timmar för PostgreSQL

  2. ladda upp en fil till en MySql DB med PHP

  3. Förbättra MySQL-prestanda på en Run-Once Query med en stor datamängd

  4. PDO - lastInsertId() för infogningsfråga med flera rader