Hi Michael,
"Michael" <dimo414@gmail.com> wrote:
> I know this is probablly really, really simple, but I can't figure out
> how to retreive the next autoindex in a table,
Nobody is doing *that* anyway. There is no reliable way to answer
"What AUTO_INCREMENT value will I get if I execute $INSERT now?".
Just think of race conditions with other clients inserting data.
The ususal way is to just do the INSERT and then ask MySQL
"What AUTO_INCREMENT did you create for my last INSERT?"
MySQL answers that with the LAST_INSERT_ID() function:
http://dev.mysql.com/doc/refman/5.0/...increment.html
<cut>
> 2. How do I obtain that value in PHP (as in, what would I use as the
> index in the array returned by mysql_fetch_assoc())
PHP gives you another possibility: use the mysql_insert_id() function:
http://www.php.net/manual/en/functio...-insert-id.php
The difference between the LAST_INSERT_ID() SQL function and the
mysql_insert_id() API function is, that LAST_INSERT_ID() remembers
the latest generated AUTO_INCREMENT value, even if there were other
statements in between. OTOH mysql_insert_id() remembers the
AUTO_INCREMENT value of the last statement. If you do some SQL
statement that does not generate an AUTO_INCREMENT value, it will
reset mysql_insert_id() to 0.
Beware of the implicite connection sharing in PHP! If you use
multiple database connections in the same PHP script, PHP may share
connections (see here for an explanation)
http://www.php.net/manual/en/function.mysql-connect.php
This may spoil AUTO_INCREMENT values, even those from LAST_INSERT_ID.
XL
--
Axel Schwenke, Support Engineer, MySQL AB
Online User Manual:
http://dev.mysql.com/doc/refman/5.0/en/
MySQL User Forums:
http://forums.mysql.com/