2013-06-28 32 views
0

很新手PostgreSQL用戶試圖將CSV文件導入到Postgres數據庫中的現有表中。我用的pgAdmin III工作在Windows 8語法錯誤將CSV複製到Postgres

下面是該查詢:

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非常不熟悉,但是我在查詢中丟失了什麼?我認爲這與標題有關,但我不知道如何解決。

回答

1

傳遞給COPY的分隔符是',',但看着錯誤的行,沒有逗號。它看起來像分隔符是tab字符。

嘗試,而不是:

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

對於HEADER關鍵字,如果數據文件的第一行包含列名的它的需要,否則就應該被刪除。