Home > Mysql > Obtener el ultimo id del ultimo registro insertado en mysql.

En diversas ocasiones muchos se han preguntado, como obtener el ‘id’ del ultimo registro insertado si tu eres programador sabrás lo útil que resulta obtener el ultimo valor del ‘id’ ,en esta ocasión nos enfocaremos a bases de datos MySQL aunque los dos primeros tambien se pueden utilizar en SQL Server.

Para que las siguientes operaciones funcionen adecuadamente es necesario que el campo ‘id’ sea indice (MySQL) o clave principal (SQL Server) y que sea ‘auto-increment ‘ (autonumerico).

Empezemos

@@identity

Este es un metodo muy conocido, consiste en utilizar la sintaxis “SELECT @@identity AS id” y devuelve el id del ultimo ingreso, por ello se debe utilizar inmediatamente después de usar la sentencia INSERT.

$query= mysql_query("SELECT @@identity AS id");
 if ($row = mysql_fetch_row($query)) 
 {
   $id = trim($row[0]);
 }

 MAX(id)

Otra forma es mediante la sentencia “SELECT MAX(id) AS id FROM tabla”. La ventaja de este método con respecto al anterior es que no es necesario utilizarlo inmediatamente despues de utilizar la sentencia INSERT; ya que este método busca el id de mayor valor dentro de la tabla y como es auto incrementable el mayor siempre sera el ultimo.

$query= mysql_query("SELECT MAX(id_tabla) AS id FROM tabla");
 if ($row = mysql_fetch_row($query)) 
 {
   $id = trim($row[0]);
 }

mysql_insert_id

Este metodo funciona solo con PHP y MySQL:  mysql_insert_id(). Al igual que la propiedad @@identity, solo retorna el id del ultimo registro ingresado independientemente de la tabla en la que se haya realizado la operacion.

$id=mysql_insert_id();