Как сделать пакетную вставку данных в таблицу без конкатенации строк?

Приветствую!
есть таблица order_product_link
поля order_id int product_id int
insert into order_product_link (order_id, product_id) values (1, 1),(1, 2),(1, 3)...(1, 100500)
order_id одинаково для всех записей, product_id разные
данные, которые требуется вставить, лежат в массиве []int64
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Например,
insert into order_product_link (order_id, product_id) select 1, i from unnest(array[1,4,7,86]) as i;

Как передать массив из go в массив postgresql - не подскажу. Уточняйте в используемой библиотеке go.

Или copy from stdin и шлёте столько строк в copy сколько надо.
Ответ написан
Shark13
@Shark13
Описание пакетной вставки без конкатенации есть в документации драйвера постгреса с примером
https://godoc.org/github.com/lib/pq#hdr-Bulk_imports

Из плюсов то, что это самый быстрый способ вставки пакета данных в постгрес из кода, быстрее чем import
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Fastdev AB Ижевск
До 110 000 руб.
Big Data Technologies Санкт-Петербург
от 130 000 до 210 000 руб.
от 180 000 до 230 000 руб.
26 марта 2019, в 22:12
30000 руб./за проект
26 марта 2019, в 20:35
10000 руб./за проект