2017-07-17 3 views
1

Je suis l'importation d'un fichier CSV dans une table cockroachdb avec la commande suivante:Importation fichier CSV dans cockroachdb, erreur en format date heure

\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, $a2);"; done < sales.csv; 

Mon fichier csv a seulement deux lignes:

ID, time 
14,2013-02-17 05:39:36.710332000 

types de données des colonnes:

first column: NUMBER(10, 0) 
second column: TIMESTAMP 

Je reçois l'erreur suivante:

syntax error at or near "5" 

INSERT INTO sales VALUES (14, 2013-02-17 05:39:36.710332000 
             ^

Basé sur le CockroachDB documentation, je pense que je suis en utilisant le format TIMESTAMP correct (YYYY-MM-DD HH24:MI:SSXFF).

Des suggestions?

J'ai aussi essayé de changer les données dans la deuxième colonne sans millisecondes, comme

2013-02-17 05:39:36 

mais je reçois la même erreur.

Répondre

2

Vous devez citer votre chaîne d'horodatage:

[email protected]:26257/test> INSERT INTO derp VALUES (1, 2013-02-17 05:39:36.710332000); 
invalid syntax: statement ignored: syntax error at or near "5" 
[email protected]:26257/test> INSERT INTO sales VALUES(1, '2013-02-17 05:39:36.710332000') 
INSERT 1 

Vous pouvez modifier votre script pour le faire aussi, comme ceci:

\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, '$a2');"; done < sales.csv; 
+0

Ce fichier d'entrée est rétrécie à une seule ligne pour le test, Dans ce cas, je dois le changer pour toutes les lignes du fichier original. – Cyrus

+0

Vous pouvez également modifier votre script d'entrée pour qu'il contienne '$ a2'. J'ai mis à jour ma réponse. –

+0

Merci, j'ai changé la commande à ... ($ a1, '$ a2') ... l'erreur est pq: nom "" ID "" n'est pas défini, "" sont doublés sur le nom de la première colonne – Cyrus