entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Saludos, se me presenta la duda de cual es la mejor función a utilizar para obtener el ultimo id insertado en una tabla.

lastInsertId de PDO devuelve el ultimo id insertado en la base de datos en la conexión que se esta ejecutando, pero no me devuelve en si el ultimo id insertado en una tabla especifica, porque por ejemplo un sitio web que tenga alrededor de 5 usuarios cada 10 segundos realizando peticiones, al utilizar esta función podría ser que lastInsertId devuelva un id que no pertenece a tal usuario.

Esta también SELECT MAX(id) FROM tabla pero esta no se que tan optima y que tan diferente sea de la anterior que mencione.

La pregunta es, que función debo utilizar en un sitio web que vaya a tener alto trafico de usuarios por segundo y estos estén por ejemplo realizando peticiones de registro muy seguidas.

No estoy totalmente seguro de cual función haría el trabajo de una manera mas optima. Gracias!

1 Respuesta

3votos

Leonardo-Tadei Puntos226490

Hola @lahm5,

la mejor solución es ejecutar el INSERT y llamar a lastInsertId de PDO en la misma transacción.

Usar transacciones te garantiza que varias consultas se comporten como una tarea atómica en el RDBMS, que es lo que te estáq haciendo falta...

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta