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

Re: Retrieving last InsertedID : INSERT... RETURNING safe ?

From: Guillaume Cottenceau <gc(at)mnc(dot)ch>
To: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
Cc: <spastor(at)motionsponsor(dot)com>, <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?
Date: 2008-02-20 11:37:44
Message-ID: 87prurrh87.fsf@mnc.ch (view raw or flat)
Thread:
Lists: pgsql-jdbc
"Heikki Linnakangas" <heikki 'at' enterprisedb.com> writes:

> spastor(at)motionsponsor(dot)com wrote:
>> Only one exception is regarding the best method to retrieve the last
>> inserted id (serial). There are many posts on this topic but i
>> couldn t find a definitive response. I am using postgresql version
>> 8.2.6 and jdbc  8.2_p505, i ve been experiencing INSERT statement
>> with RETURNING myID, using an executeQuery it works great, i
>> retrieve the proper value everytime at least  from the few tests i
>> have been doin  locally.
>> Is it THAT easy or could this method break somehow in a live environement ?
>
> It is that easy, and that is a good way to do it.
>
> Alternatively, if you need to support older PostgreSQL version for
> example, you could use a "SELECT currval('sequence')" query after the
> INSERT.

Well, that other solution is dangerous in case multiple inserts
to that table are done concurrently; a quite common usage pattern
with java web applications handling multiple HTTP requests with
concurrent java threads..

-- 
Guillaume Cottenceau

In response to

Responses

pgsql-jdbc by date

Next:From: Dave CramerDate: 2008-02-20 11:53:30
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?
Previous:From: spastorDate: 2008-02-20 11:25:47
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?

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