Re: Automatic increment

From: GH <grasshacker(at)over-yonder(dot)net>
To: svanegmond(at)home(dot)com
Cc: "Julio Cuz, Jr(dot)" <jcuz(at)rccd(dot)cc(dot)ca(dot)us>, pgsql-php(at)postgresql(dot)org
Subject: Re: Automatic increment
Date: 2001-01-12 03:25:23
Message-ID: 20010111212523.A76845@over-yonder.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php pgsql-sql

On Thu, Jan 11, 2001 at 10:22:05PM -0500, some SMTP stream spewed forth:
> Julio Cuz, Jr. (jcuz(at)rccd(dot)cc(dot)ca(dot)us) wrote:
> > Some of you guys suggested to use the 'SERIAL' type for a field that needs
> > to be AUTOMATICALLY INCREASED BY 1 by PGSQL without user intervention, but
> > it doesn't seem to work. What am I doing wrong?
>
> Though I wasn't here for that, here's how I normally declare
> automatically-incrementing values:
>
> CREATE SEQUENCE foo_id;
>
> CREATE TABLE foo (
> foo_id integer not null primary key default nextval(foo_id);
>
> ...
> );
>
> insertions to foo get their own unique ID. With the php extension, you
> can get the oid of the row that was inserted and go get the ID if you
> happen to need it.

I believe that it is commonly preferred to do:
select nextval('sequence');
insert into foo (foo_id,...) values (<nextval>, ...);

That is, select the nextval() first, then use that value in the insert.
This avoids numerous issues (like searching through the table, even
by oid) which would be covered in the archives of this list.

gh

>

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Stephen van Egmond 2001-01-12 03:41:35 Re: Automatic increment
Previous Message Stephen van Egmond 2001-01-12 03:22:05 Re: Automatic increment

Browse pgsql-sql by date

  From Date Subject
Next Message Stephen van Egmond 2001-01-12 03:41:35 Re: Automatic increment
Previous Message Stephen van Egmond 2001-01-12 03:22:05 Re: Automatic increment