Я пытаюсь импортировать 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)
Я пробовал это и получил другую ошибку: «ОШИБКА: значение null в столбце« created_at »нарушает не-нулевое ограничение ДЕТАЛИ: Неудачная строка содержит (4, 1 СТОП ЭЛЕКТРОНИК-ЦЕНТР ...». Я предположил, что, поскольку Я перечислил столбцы, данные из CSV будут только сопоставлены с указанными и в этом порядке. Есть ли способ их опустить? –
На самом деле, я думаю, потому что они «не являются нулями», там автоматически создается 'created_at 'и' updated_at'? –
Я только что добавил временную метку в CSV. Таким образом, окончательный рабочий результат: «КОПИРЫ (название, адрес, город, провинция, почтовый код, страна, телефон, внешний, phone_alt, ext_alt, created_at , updated_at, url) FROM '/Volumes/Data/Users/me/Dealers.csv' WITH (FORMAT csv); ' –