0
我試圖導入CSV並保持運行到錯誤最近:導入CSV移植到PostgreSQL
ERROR: invalid input syntax for integer: ""
CONTEXT: COPY locations, line 1, column ext: ""
我還是新來這個,但我可以告訴它好像它不使用null
用於任何空白整數列。任何幫助,將不勝感激。
以下是從CSV幾行:
1 STOP ELECTRONICS CENTER,1100 CONEY ISLAND AVENUE,BROOKLYN,NY,11230,USA,7182491201,,,,
1 STOP FURNITURE WAREHOUSE,9050 KENMAR DR.,SAN DIEGO,CA,92121,USA,8582719400,,,,
309 OFFICE FURNITURE,1711 BETHLEHEM PARK,HATFIELD,PA,19440,USA,2158223333,,,,
"A & W OFFICE SUPPLY & DESIGN, INC.",10653 DUTCHTOWN ROAD,KNOXVILLE,TN,37932,USA,8656758532,,,,
下面是我用COPY命令:
COPY locations(name, address, city, province, postal_code, country, phone, ext, phone_alt, ext_alt, url) FROM '/Volumes/Data/Users/me/Dealers.csv' WITH (FORMAT csv, DELIMITER ',', NULL 'NULL');
這裏是我的位置表:
Table "public.locations"
Column | Type | Modifiers
-------------+-----------------------------+--------------------------------------------------------
id | integer | not null default nextval('locations_id_seq'::regclass)
name | character varying(255) |
address | character varying(255) |
city | character varying(255) |
province | character varying(255) |
postal_code | character varying(255) |
country | character varying(255) |
phone | bigint |
ext | bigint |
phone_alt | bigint |
ext_alt | bigint |
latitude | double precision |
longitude | double precision |
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null
url | character varying(255) |
Indexes:
"locations_pkey" PRIMARY KEY, btree (id)
我試過了,得到了一個不同的錯誤:'錯誤:列中的空值'created_at'違反了非空約束 細節:失敗的行包含(4,1 STOP ELECTRONICS CENTER ...'。我認爲,因爲我列出了列,CSV中的數據只會映射到指定的順序,有沒有辦法省略這些? –
其實,我猜是因爲它們不是空的,是否會自動生成一個'created_at ''和'updated_at'? –
我剛剛在CSV中添加了一個時間戳,所以最終的工作結果是:COPY位置(名稱,地址,城市,省,郵政編碼,國家,電話,分機,電話號碼,ext_alt,created_at ,updated_at,url)FROM'/Volumes/Data/Users/me/Dealers.csv'WITH(FORMAT csv);' –