Skip site navigation (1) Skip section navigation (2)

Re: determine sequence name for a serial

From: "Ed L(dot)" <pgsql(at)bluepolka(dot)net>
To: Robby Russell <robby(at)planetargon(dot)com>,pgsql-general(at)postgresql(dot)org
Subject: Re: determine sequence name for a serial
Date: 2004-10-28 22:51:05
Message-ID: 200410281651.05555.pgsql@bluepolka.net (view raw or flat)
Thread:
Lists: pgsql-general
On Thursday October 28 2004 11:42, Robby Russell wrote:
>
> Thanks, this seems to work well. My goal is to actually create a php
> function that takes a result and returns the insert_id like
> mysql_insert_id() does, but without needing to know the sequence names
> and such. I would make a psql function, but I don't always have that
> option with some clients existing systems.

An alternative is to simply select nextval() from a separately-created 
sequence object to get the serial value, then insert with that value.  No 
need to have a serial column then, but you do need to explicitly create the 
sequence object, as opposed to SERIAL.

But I didn't understand why you care to get rid of the explicit reference to 
the sequence object in your code in the first place.  In PostgreSQL, at 
least for the past 5 years if not longer, if you create a SERIAL column for 
(schemaname, tablename, columnname), then your sequence will *always* be 
"schemaname.tablename_columnname_seq".  If that naming convention changes, 
there will be a whole lotta breakage world-wide.

Ed


In response to

Responses

pgsql-general by date

Next:From: Robby RussellDate: 2004-10-28 23:07:36
Subject: Re: determine sequence name for a serial
Previous:From: Jim C. NasbyDate: 2004-10-28 22:47:10
Subject: Re: Reasoning behind process instead of thread based

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group