Return value of 'serial' column on insert

From: Madison Kelly <linux(at)alteeve(dot)com>
To: postgresql <pgsql-general(at)postgresql(dot)org>
Subject: Return value of 'serial' column on insert
Date: 2005-01-27 05:35:25
Message-ID: 41F87D9D.6020204@alteeve.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

I have several tables with an 'id' column which is a simple 'serial
unique' type. Often when I insert a record the next thing I need is to
add or edit another table elsewhere using the ID of the entry I just
added. Currently what I do is:

SELECT <table>_id FROM <table> ORDER BY <table>_id DESC LIMIT 1;

and assume (safely thus far) that the returned value is the one I
just created. Obviously this is bulky and, should by chance another
column be added in that time between insert and read, I would get the
wrong value.

Is there a way to do an INSERT (in perl, btw) where pgSQL returns the
value just created by the same INSERT? Thanks!

Madison

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Madison Kelly (Digimer)
TLE-BU, The Linux Experience; Back Up
http://tle-bu.thelinuxexperience.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Max 2005-01-27 05:36:37 Re: Splitting queries across servers
Previous Message Mihail Nasedkin 2005-01-27 03:23:03 Re: [GENERAL] Lower case