0

非常新手 PostgreSQL 用户在这里尝试将 CSV 文件导入到 Postgres 数据库中的现有表中。我在 Windows 8 上使用 PgAdmin III。

这是查询:

COPY "Mobility Survey2" FROM 'C:\\Users\\Public\\2011-2.csv'
WITH CSV HEADER DELIMITER ',';

这是错误消息:

ERROR:  la sintaxis de entrada no es válida para integer: «1    25099   1020624     4   4   8           2   903 1   2   4   4   1                               1   3           0   2   2   16.6»

CONTEXT:  COPY Mobility Survey2, línea 2, columna ORDEN: «1 25099   1020624     4   4   8           2   903 1   2   4   4   1                               1   3           0   2   2   16.6»

(对不起西班牙语——翻译为“输入语法对整数无效”)

我已经尝试在这里查看其他一些问题,包括这个问题(Importing CSV file into PostgreSQL),但我没有找到解决问题的方法。很可能只是因为我对 Postgres 和 SQL 很不熟悉,但是我的查询中是否遗漏了一些东西?我认为它与标题有关,但我不知道如何解决它。

4

1 回答 1

1

传递给的定界符COPY','但查看错误行,其中没有逗号。看起来分隔符是一个tab字符。

请尝试:

COPY "Mobility Survey2" FROM 'C:\\Users\\Public\\2011-2.csv'
WITH CSV HEADER DELIMITER E'\t';

至于HEADER关键字,如果数据文件的第一行由列名组成,则需要,否则应删除。

于 2013-06-28T22:45:17.513 回答