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

Jak zaimportować plik CSV do postgresql, który ma już przypisany identyfikator?

serial kolumna rysuje tylko następną liczbę z sekwencji domyślnie . Jeśli wpiszesz do niego wartość, domyślna nie zostanie uruchomiona. Możesz po prostu COPY do stołu (patrz odpowiedź @Saravanan ), a następnie odpowiednio zaktualizuj sekwencję. Jeden sposób, aby to zrobić:

SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;

tbl_id będąca kolumną szeregową tabeli tbl , czerpiąc z sekwencji tbl_tbl_id_seq (nazwa domyślna).

Najlepsza w pojedynczej transakcji w przypadku jednoczesnego obciążenia.

Uwaga, nie ma tutaj błędu off-by-1. Według dokumentacji:

Pogrubiony nacisk na moje.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowuj ciąg znaków ze znakami specjalnymi, takimi jak cudzysłowy lub ukośnik odwrotny w tabeli postgresql

  2. Operator ALL w klauzuli WHERE w Rails

  3. WYBIERZ ustaloną liczbę rzędów poprzez równomierne pomijanie rzędów

  4. Użyj typu Point z PostgreSQL i JPA/Hibernate

  5. Czy ISO8601 jest najlepszym formatem daty dla jsonb PostgreSQL, gdy chcę filtrować według daty?