Re: GetLastInsertID ? - Mailing list pgsql-general

From Tom Lane
Subject Re: GetLastInsertID ?
Date
Msg-id 1562.1073244417@sss.pgh.pa.us
Whole thread Raw
In response to Re: GetLastInsertID ?  (Mike Nolan <nolan@gw.tssi.com>)
Responses Re: GetLastInsertID ?
List pgsql-general
Mike Nolan <nolan@gw.tssi.com> writes:
>> Where do you get that impression? currval() refers to the last ID for the
>> session you are in. It's also FAQ question 4.15.3. Even better, if you
>> havn't used nextval() in your current session, currval() returns an error,
>> so you can't even get it wrong by accident.

> I stand corrected.  I was doing some testing of a PHP module that is
> called from a web form a while back and got inconsistent results with
> currval, I probably had a script error of some kind.

If you are using persistent connections in PHP you have to be very
careful, because independent bits of PHP script may re-use the same
database connection, and thereby will see a common currval value.
After doing a nextval, you have to be sure to fetch currval before
releasing the connection back to the pool.

            regards, tom lane

pgsql-general by date:

Previous
From: A E
Date:
Subject: Anything akin to an Evaluate Statement in Postgresql?
Next
From: Tony
Date:
Subject: Re: Is my MySQL Gaining ?