web-dev-qa-db-fra.com

Copie du fichier: ERREUR: syntaxe d'entrée non valide pour un entier: "\ N"

Ma colonne de table a défini un entier intcol; pas de contrainte NOT NULL. Dans le fichier de chargement, la plupart des valeurs sont des entiers, mais quelques-unes sont des valeurs nulles étiquetées avec la valeur par défaut '\ N' comme suggéré par le manuel de copie. La commande de copie peut-elle convertir '\ N' en valeurs nulles dans le tableau? J'ai également essayé avec null 'NA'. Vous avez un message d'erreur similaire.

ERROR:  invalid input syntax for integer: "\N"
CONTEXT:  COPY table_name, line 111, column position3: "\N"

Une astuce?

4
Kemin Zhou

Utilisez le paramètre NULL. De la documentation:

NUL

Spécifie la chaîne qui représente une valeur nulle. La valeur par défaut est\N (barre oblique inversée-N) au format texte et une chaîne vide sans guillemets au format CSV.

Exemple

copy my_table from '/my/csv_file.csv' (format csv, null '\N');
5
klin