Сценарий
у меня есть база данных postgresql, содержащая список вариантов продукта, которая была заполнена автоматически, однако, без номеров деталей. Я экспортировал таблицу, чтобы запустить некоторые формулы для генерации номеров деталей для каждого варианта продукта. Это дало мне таблицу, содержащую соответствующий идентификатор записи и связанный номер детали.
чего я пытаюсь достичь
теперь, когда у меня есть моя таблица с информацией, которая отсутствует, как получить эту информацию обратно в таблицу postgresql?
пример данных из таблицы Postgresql [product_product]
id create_date weight default_code product_templ_id ...
1 2016-12-15 18:57 0 000-000000-000 1 ...
2 2016-12-16 19:00 0 000-000000-000 2 ...
3 2016-12-16 20:42 0 000-000000-000 31 ...
4 2016-12-16 20:43 0 000-000000-000 31 ...
5 2016-12-16 20:44 0 000-000000-000 31 ...
6 2016-12-16 20:45 0 31 ...
... ................ ... .............. 31 ...
1603 2016-12-16 21:51 0 31 ...
1604 2016-12-16 21:52 0 31 ...
список образца высчитанных номеров детали
id default_code
6 000-000000-000
... ..............
1604 000-000000-000
что я пробовал
Ну, я настроил ODBC-соединение с базой данных, связав таблицу в MS Access 2010. Я отфильтровал до product_templ_id
поле и сортировка по id
, чтобы соответствовать тому, что у меня было в моей электронной таблице Excel. Затем я скопировал часть числа из default_code
столбец и попытался вставить в начальной точке, но получил сообщение об ошибке о том, что я пытался вставить слишком много информации. Как я понял, Access пытался вставить содержимое буфера обмена в одну ячейку. Не то поведение, на которое я надеялся.
какой маршрут лучше?
этот конкретный продукт имеет 1440 вариантов, каждый со своим собственным номером детали и спецификацией. Я действительно не хочу тратить свое время на генерацию всех этих строк. Я всегда говорите людям, что данные-это данные, и вы можете делать с ними что угодно. Вопрос только в том, как это сделать.
--EDIT--
я могу экспортировать свою таблицу из pgAdmin, но по какой-то причине, когда я пытаюсь импортировать, ничего не происходит.
в результате я попробовал следующую команду:
COPY product_product (default_code) from '/csv/file/location/file.csv' CSV HEADER delimiter ';' null '/n';
в результате которых:
ERROR: extra data after last expected column
CONTEXT: COPY product_product, line 2: "203;000-000000-000"
я думаю, Хорошо, я упоминаю одно поле, но мой csv имеет два поля. Это потому, что я хочу убедиться импортированный default_code
поле связано с соответствующей записью.
далее, я пробовал:
COPY product_product FROM '/csv/file/location/file.csv' CSV HEADER delimiter ';' null 'n';
в результате:
ERROR: duplicate key value violates unique constraint "product_product_pkey"
DETAIL: Key (id)=(2) already exists.
так что теперь, я думаю, я мог бы также бросить стол и восстановить его. К сожалению, с этой таблицей установлены зависимости, поэтому ее нельзя удалить.
если бы я знал, как редактировать значение записи в postgresql, я мог бы написать скрипт для генерации необходимых команд для редактирования всех 1440 записей соответственно.