Вставить в таблицу postgres с выбором и автоинкрементом - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу переместить данные из таблицы T1 в другую таблицу T2. T1 имеет идентификатор автоинкремента, который является следствием аннотаций JPA @Id @GeneratedValue (стратегии = GenerationType.SEQUENCE) с реализацией Spring Data.

insert into T1(id, dataColumn)
(select NULL, dataToCopy
from T2)

Это не работает, так как сообщает об ошибке нарушения ненулевого ограничения в поле id. Как я могу вставить свои данные в этом случае?

1 Ответ

0 голосов
/ 06 мая 2018

Причина, по которой я не могу сделать вставку таким образом, заключается в том, что автоинкремент не установлен в столбце id. Причиной отсутствия автоинкремента является то, что установка генератора для идентификатора приводит к необходимости создания дополнительных операторов выбора для получения следующего значения из последовательности базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...