50 votes

Commande de copie PostgreSQL générant la clé primaire id

J'ai un fichier CSV avec deux colonnes : la ville et le code postal. Je veux pouvoir copier ce fichier dans une table PostgreSQL à l'aide de la fonction copy et en même temps générer automatiquement le id valeur.

Le tableau comporte les colonnes suivantes : id , city y zipcode .

Mon fichier CSV ne contient que : city y zipcode .

79voto

mu is too short Points 205090

El Commande COPY devrait faire cela tout seul si votre table utilise une serial pour la colonne id :

Si certaines colonnes du tableau ne figurent pas dans la liste des colonnes, COPY FROM insère les valeurs par défaut de ces colonnes.

Donc vous devriez pouvoir dire :

copy table_name(city, zipcode) from ...

et le id seront générés comme d'habitude. Si vous ne disposez pas d'un serial colonne pour id (ou une séquence attachée manuellement), vous pourriez alors accrocher une séquence à la main, faire votre COPIE, puis détacher la séquence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X