Re: Equivalent for AUTOINCREMENT? - Mailing list pgsql-general

From D. Dante Lorenso
Subject Re: Equivalent for AUTOINCREMENT?
Date
Msg-id 490B41E0.9060700@lorenso.com
Whole thread Raw
In response to Equivalent for AUTOINCREMENT?  (Michelle Konzack <linux4michelle@tamay-dogan.net>)
List 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 by date:

Previous
From: Kevin Murphy
Date:
Subject: Re: perl-DBD-Pg package for CentOS 5?
Next
From: "Scott Marlowe"
Date:
Subject: Re: Connections getting stuck sending data to client