автоматическое увеличение типа postgresql serial4 при вставке в - PullRequest
1 голос
/ 26 марта 2012

Я определил атрибут в своей таблице типа serial4 , поэтому, когда я вставляю новую строку, атрибут автоматически увеличивается.

Раньше я делал так:

myTable (id : serial4, name : varchar(25), whatever : whatever, ...);

и когда я хочу вставить новую запись:

insert into myTable (name, whatever, ...) values ('foo', ...);

(я просто убираю атрибут id всписок ассоциаций).

теперь, если моя таблица имеет большое количество атрибутов, список ассоциаций утомителен для записи.

Я просто хочу написать:

insert into myTable values (...);

, но если первым атрибутом myTable является идентификатор serial4 , что я должен написать в списке значений?

insert into myTable values (?, 'foo', ...);

, чтобы получить идентификаторувеличен +1 от последнего введенного значения?

1 Ответ

2 голосов
/ 26 марта 2012

Используйте ключевое слово DEFAULT:

insert into myTable values (DEFAULT, 'foo', ...);

Псевдо-тип данных serial (синоним: serial4) просто удобен для обозначения integerстолбец, который получает значения по умолчанию из прикрепленного SEQUENCE.Используя ключевое слово DEFAULT, добавляется следующее значение из последовательности, как и любое другое значение по умолчанию.

Подробности в руководстве.

...