我使用以下命令将CSV文件导入cockroachdb中的表:
\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, $a2);"; done < sales.csv;
我的csv文件只有两行:
ID, time
14,2013-02-17 05:39:36.710332000
列的数据类型:
first column: NUMBER(10, 0)
second column: TIMESTAMP
我收到以下错误:
syntax error at or near "5"
INSERT INTO sales VALUES (14, 2013-02-17 05:39:36.710332000
^
根据CockroachDB documentation,我认为我使用了正确的TIMESTAMP
格式(YYYY-MM-DD HH24:MI:SSXFF
)。
有什么建议吗?
我还尝试在没有毫秒的情况下更改第二列中的数据,例如
2013-02-17 05:39:36
但我得到同样的错误。
答案 0 :(得分:2)
您需要引用时间戳字符串:
jordan@:26257/test> INSERT INTO derp VALUES (1, 2013-02-17 05:39:36.710332000);
invalid syntax: statement ignored: syntax error at or near "5"
jordan@:26257/test> INSERT INTO sales VALUES(1, '2013-02-17 05:39:36.710332000')
INSERT 1
您也可以修改脚本来执行此操作,如下所示:
\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, '$a2');"; done < sales.csv;