Monday, May 5, 2008

Cómo obtener el ID del último registro insertado en MySQL


En esta ocación me gustaría compartirles la manera más sencilla para obtener el ID del último registro insertado a una tabla en MySQL Server.
Esto es muy útil en el caso que queramos hacer manipulaciones extra al registro que acabamos de insertar, o agregar información a otra tabla que requiere del ID para hacer uniones.
Podríamos obtener el ID haciendo otro query a la tabla después de agregar el registro para obtener el valor máximo del campo, sin embargo esto requiere de una nueva conexión a la base de datos y de la ejecución de otra instrucción que podría resultar cara para el desempeño de nuestra aplicación.
La manera más sencilla de resolver este problema es utilizando la instrucción LAST_INSERT_ID() de MySQL en un parámetro de salida en un Stored Procedure por ejemplo.
Una vez ejecutado el SP, nos devolverá el valor que necesitamos y lo podemos guardar en alguna variable de nuestra aplicación. Ésta función es específica de la conexión por lo que si tenemos al mismo usuario conectado en 2 lugares diferentes siempre se obtendrá el ID del registro que se guardó por cada usuario.

Labels: ,

0 Comments:

Post a Comment

<< Home