sql >> Databáze >  >> RDS >> PostgreSQL

Jak importovat CSV do postgresql, který již má přiřazené ID?

serial ve výchozím nastavení vytáhne pouze další číslo ze sekvence . Pokud do něj zapíšete hodnotu, výchozí nastavení se neprojeví. Můžete pouze COPY ke stolu (viz odpověď @Saravanan ) a poté příslušnou sekvenci aktualizujte. Jedna způsob, jak to udělat:

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

tbl_id je sériový sloupec tabulky tbl , čerpající ze sekvence tbl_tbl_id_seq (výchozí název).

Nejlépe v jediné transakci v případě souběžného zatížení.

Všimněte si, že zde není žádná chyba off-by-1. Podle dokumentace:

Odvážný důraz můj.



  1. Hledám datovou sadu pro testování vyhledávání ve FULLTEXTU

  2. Třída JPA Entity dává chybu se 2 poli @GeneratedValue

  3. MySQL konektory a licencování

  4. Jaký je nejlepší ovladač Oracle JDBC typu 4?