my_ulonglong mysql_insert_id(MYSQL *mysql)
Devuelve el valor generado por una columna AUTO_INCREMENT para la sentencia INSERT o UPDATE previa. Usar esta función después de realizar una sentecia INSERT en una tabla que contenga una columna AUTO_INCREMENT.
Más precisamente, mysql_insert_id() se actualiza en las siguientes condiciones:
mysql_insert_id() devuelve 0 si la sentencia previa no usa un valor AUTO_INCREMENT. Si se necesita guardar el valor para usarlo más tarde, asegurarse de llamar a mysql_insert_id() inmediatamente después de la sentencia que genera el valor.
El valor de mysql_insert_id() se ve afectado sólo por sentencias lanzadas dentro de la conexión de cliente actual. No se ve afectado por sentencias lanzadas por otros clientes.
También hay que tener en cuenta que la función SQL LAST_INSERT_ID() siempre contiene el valor AUTO_INCREMENT generado más recientemente, y no se resetea entre sentencias porque el valor de esa función es mantenido por el servidor. Otra diferencia es que LAST_INSERT_ID() no se actualiza si de asigna a una columna AUTO_INCREMENT un valor específico no especial.
El motivo de estas diferencias entre LAST_INSERT_ID() y mysql_insert_id() es que LAST_INSERT_ID() se ha diseñado para que sea fácil de usar en scripts mientras que mysql_insert_id() intenta proporcionar una información algo más exacta de lo que ocurre en una columna AUTO_INCREMENT.
Los descritos anteriormente.
Ninguno.
© Abril de 2005 Salvador Pozo, salvador@conclase.net