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

For at ignorere dublerede nøgler under 'copy from' i postgresql

Brug samme tilgang som du beskrev, men DELETE (eller grupper, eller modificer ...) dupliker PK i temp-tabellen før indlæsning til hovedtabellen.

Noget som:

CREATE TEMP TABLE tmp_table 
ON COMMIT DROP
AS
SELECT * 
FROM main_table
WITH NO DATA;

COPY tmp_table FROM 'full/file/name/here';

INSERT INTO main_table
SELECT DISTINCT ON (PK_field) *
FROM tmp_table
ORDER BY (some_fields)

Detaljer:CREATE TABLE AS , COPY , DISTINCT ON



  1. Sådan skjuler du SQL-databaser, som en bruger ikke har adgang til

  2. Python REST API'er med kolbe, forbindelse og SQLAlchemy - Del 2

  3. R12.2 Rapport om online patching

  4. Avanceret MySql-forespørgsel:Opdater tabel med info fra en anden tabel