is mysql_insert_id safe

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Hi all

With regard to mysql's mysql_insert_id function is it possible that the
query can return the insert id from another insert performed by a
another user of the database which occured after the initial insert by
the first user but b4 the insert_id part can be queried.



Re: is mysql_insert_id safe

monomaniac21 wrote:
Quoted text here. Click to load it

No, mysql_insert_id() in the same script always gets the value of the last
query performed by that specific script, not by other connections to the

Rik Wasmus

Re: is mysql_insert_id safe

Quoted text here. Click to load it

You won't have any problems if you're running it immediately after the  

Karl Groves

Re: is mysql_insert_id safe

Quoted text here. Click to load it

In the database world, there is no "immediately after".  It's always
possible for someone else to get in a query between any two of
yours.  It's up to locking (implicit or explicit) or transactions
to prevent bad effects on the data from this by delaying execution
of one until another finishes.

mysql_insert_id() returns the last insert id ON THIS CONNECTION.
So, as long as you keep the connection open (which probably won't
be beyond the processing of the PHP page: with persistent connections,
you are NOT guaranteed to get the same connection next time), you
can wait as long as you want to call mysql_insert_id().

                        Gordon L. Burditt

Site Timeline