MySQL - Duda LAST_INSERT_ID o mysql_insert_id()

 
Vista:

Duda LAST_INSERT_ID o mysql_insert_id()

Publicado por Jorge (2 intervenciones) el 19/04/2011 17:50:03
no se cual usar, leo el manual de MySql y no le entiendo, luego en los foros unos van a favor de cada uno, asi que les pongo este caso de uso para saber su opinion cual es mas recomendable.

caso de uso:
------------------
resulta que se inserta un registro a una tabla y hay que obtener el valor del autonumerico generado para guardarlo en una variable para hacer lo que se tenga que hacer con ese registro (conociendo ya su valor autnumerico)

supongamos que tengo una BD que es usada por una aplicacion en PCs distintas, con el mismo usuario de bd (logicamente con los mismos privilegios)

en la PC1 se inserta un nuevo registro (y se obtiene el valor autonumerico)

en la PC2 tambien se inserta un nuevo registro en la misma tabla, digamos que al mismo tiempo (y se obtiene el valor autonumerico)

en la PC3 se inserta un nuevo registro de otra tabla al mismo tiempo que los anteriores (y se obtiene el valor autonumerico)

entonces para que los usuarios obtengan cada uno su valor autonumerico del registro que han creado en su respectiva tabla ¿Que deben usar?... ¿ LAST_INSERT_ID o mysql_insert_id() ?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda LAST_INSERT_ID o mysql_insert_id()

Publicado por martin (150 intervenciones) el 19/04/2011 21:59:33
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

La funcion que deberias usar es LAST_INSERT_ID, por que te devuelve el id generado para la session que esta insertando el registro, el otro te devuelve el ultimo id insertado pero no le importa si es el tuyo o el de otra session.


SAludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda LAST_INSERT_ID o mysql_insert_id()

Publicado por Jorge (2 intervenciones) el 20/04/2011 17:38:13
muchas gracias por tu respuesta, me has ayudado mucho. :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar