PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Aby zignorować zduplikowane klucze podczas „kopiowania z” w postgresql

Użyj tego samego podejścia, jak opisano, ale DELETE (lub grupuj lub modyfikuj...) zduplikuj PK w tabeli temp przed załadowaniem do tabeli głównej.

Coś takiego:

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)

Szczegóły:CREATE TABLE AS , COPY , DISTINCT ON



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. błąd instrukcji sql:kolumna .. nie istnieje

  2. Funkcja PostgreSQL dla ostatnio wstawionego identyfikatora

  3. Schematy PostgreSQL / Przestrzenie nazw z Django

  4. Jak działa Extract() w PostgreSQL

  5. Jak dodać nową kolumnę w tabeli po 2 lub 3 kolumnie w tabeli za pomocą postgresa?