Próxima Autoindex
Hola,
Me gustaría saber si existe alguna función o script para saber el siguiente autoindex de una tabla.
Gracias
Me gustaría saber si existe alguna función o script para saber el siguiente autoindex de una tabla.
Gracias
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.
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.
