#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 )
Теперь это работает.