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);' –