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
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 |