PostgreSQLCopyHelper BulkImportData

#postgresql #auto-increment #bulkinsert

#postgresql #автоматическое увеличение #bulkinsert

Вопрос:

Определение таблицы Postgres

CREATE TABLE MyTable ( myKey BIGSERIAL PRIMARY KEY, amount INT, description TEXT );

Вот мой помощник по копированию, вставляющий из списка значений.

 var copyHelper = new PostgreSQLCopyHelper<BulkImportData>("", "MyTable")            
                                    .MapInteger("amount", x => x.amount)
                                    .MapText("description", x => x.desc);
 

Saveall выдает ошибку — MyKey не определен.

Но mykey — это ПОСЛЕДОВАТЕЛЬНОЕ автоматическое увеличение, я не могу установить его явно.

Как указать ПОСЛЕДОВАТЕЛЬНОЕ автоматическое увеличение в PostgreSQLCopyHelper?

Спасибо

Комментарии:

1. Пожалуйста, добавьте тег для языка и / или платформы, которую вы используете.

Ответ №1:

Я виноват. В первичном ключе не было объявлено автоматическое увеличение.

Новое объявление: myKey BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 )

Теперь это работает.