Re: Equivalent for AUTOINCREMENT?

Поиск
Список
Период
Сортировка
От D. Dante Lorenso
Тема Re: Equivalent for AUTOINCREMENT?
Дата
Msg-id 490B41E0.9060700@lorenso.com
обсуждение исходный текст
Ответ на Equivalent for AUTOINCREMENT?  (Michelle Konzack <linux4michelle@tamay-dogan.net>)
Список pgsql-general
Michelle Konzack wrote:
> I have a table where I have a serialnumber which shuld be  increased  be
> each INSERT.  I know I can use max() to get the highest number, but  how
> can I use it in a INSERT statement?
>
> There was a message for some month a message describing it on this  list
> but I do not find the message anymore...

You want to use 'SERIAL' or 'BIGSERIAL' data type.  Then, for your
insert statement, use the 'RETURNING' clause like this:

CREATE TABLE mytable (
    mypkey SERIAL NOT NULL,
    somecol VARCHAR(200)
);

INSERT INTO mytable (somecol)
VALUES ('this is a test)
RETURNING mypkey;

You'll get your insert statement to return the integer value generated
by the SERIAL sequence.

These features are way more powerful than AUTO_INCREMENT.

-- Dante


>
> Thanks, Greetings and nice Day/Evening
>     Michelle Konzack
>     Systemadministrator
>     24V Electronic Engineer
>     Tamay Dogan Network
>     Debian GNU/Linux Consultant
>
>


--
----------
D. Dante Lorenso
dante@lorenso.com

В списке pgsql-general по дате отправления:

Предыдущее
От: Kevin Murphy
Дата:
Сообщение: Re: perl-DBD-Pg package for CentOS 5?
Следующее
От: "Scott Marlowe"
Дата:
Сообщение: Re: Connections getting stuck sending data to client