Próxima Autoindex

ars_gz
27 de Noviembre del 2009
Hola,
Me gustaría saber si existe alguna función o script para saber el siguiente autoindex de una tabla.
Gracias

califa
27 de Noviembre del 2009
Se puede averiguar usando un SELECT MAX sobre el campo que es autonumérico.

La sintaxis es la siguiente:

SELECT MAX(nombre_campo_autonumerico) FROM nombre_tabla;

Esto devuelve el valor más alto del campo autonumérico. Sumándole 1, se obtiene el valor que tendrá ese campo para el próximo registro.

Un ejemplo en PHP:
$max_indice = mysql_query("SELECT max(id) FROM `usuarios`");
if ($max_indice) {
$rs = mysql_fetch_row($max_indice);
$registro_actual = $rs[0];
$proximo_registro = $registro_actual+1;
echo $proximo_registro;
}

Descubrí esto hace muy poco, porque necesitaba renombrar una imagen que subía al servidor con el id del registro que estaba insertando en la base. O sea, necesitaba saber el próximo autoindex para que el registro en la base quedara asociado a un archivo (en este caso una foto). Tal vez haya una manera más directa de hacerlo, pero de momento, esta forma funciona bien.

Si lees inglés, puedes echar un vistazo a:

http://dev.mysql.com/doc/refman/5.0/en/innodb-auto-increment-column.html
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

donde se explica cómo funciona el select max.

Suerte!

Califa

P.D: ah, importante y para ahorrarse dolores de cabeza: entre la palabra clave MAX y el paréntesis NO debe haber ningún espacio en blanco. De lo contrario, da error de sintaxis.