Recuperando la ID de la fila insertada en php/mysql
una de las tareas comunes cuando se trabaja con bases de datos MySQL es insertar una fila y posteriormente a su ID de recuperación automática. Este proceso implica dos consultas distintas, potencialmente introduciendo un espacio de tiempo entre insertar la fila y obtener la ID, lo que puede conducir a condiciones de carrera.
Afortunadamente, PHP proporciona una solución directa a este problema: la función mysqli_insert_id (). El siguiente código demuestra su uso:
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')"); $id = mysqli_insert_id($link);
mysqli_insert_id () recupera directamente la ID generada por la declaración de inserción más reciente, eliminando la necesidad de consultas adicionales. Este enfoque garantiza que la ID recuperada corresponde a la fila que acaba de insertar.
Un método alternativo es utilizar la función de MySQL Last_insert_id () dentro de una sola consulta. Al combinar múltiples declaraciones de inserción, es posible actualizar varias tablas simultáneamente y evitar la molestia de la recuperación de ID separada:
mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3