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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-general by date

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