At 15:33 -0800 1/29/02, James Montebello wrote:
>This result will be invalid when the a new row is written to the table,
>whether it's part of a transaction or not, no matter what the table type.
>I said as much, but perhaps I was a bit too cryptic.
>
>Generally speaking, getting this value reliably while other work is
>going on is only possible if you lock the table, do the select, do
>whatever you're going do to with that value, and unlock the table.
>As soon as you do the unlock, the value is useless.

Getting the value reliably is *exactly* what LAST_INSERT_ID() is
for.  No transaction necessary.

>
>james montebello
>
>On Tue, 29 Jan 2002, Christopher Thompson wrote:
>
>>  Not _necessarily_ true, surely, if there's another transaction active at
>>  the moment (assuming you are using a table that supports transactions)...?
>>
>>  At 03:16 PM 1/29/2002 -0800, James Montebello wrote:
>>
>>  >SELECT MAX(id) FROM table;
>>  >
>>  >will get you the highest value for 'id', that +1 will be the 'next' value,
>>  >until someone inserts a new row into that table.
>>  >
>>  >james montebello
>>  >
>>  >On Tue, 29 Jan 2002, Joel Wickard wrote:
>>  >
>>  > > database,sql,query,table
>>  > >
>>  > >
>>  > > I need to find out what the next value will be in an 
>>auto_increment field
>  > > > will be. could someone help me out with the select statement?

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to