Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

mysql_insert_id

ndandram @ 23:39

mysql_insert_id -- Devuelve el identificador generado en la última llamada a INSERT
Descripción
int mysql_insert_id ( [int identificador_de_enlace] )
mysql_insert_id() devuelve el identificador generado para un campo de tipo AUTO_INCREMENTED. Se devolverá el identificador generado por el último INSERT para el identificador_de_enlace. Si no se específica el identificador_de_enlace, se asume por defecto el último enlace abierto.
mysql_insert_id() regresa 0 si la consulta previa no generó un valor AUTO_INCREMENT. Si necesita guardar el valor para un uso posterior, asegurese de llamar mysql_insert_id() inmediatamente después de la consulta que generó el valor.
Nota: El valor de la función SQL de MYSQL LAST_INSERT_ID() siempre contiene el valor AUTO_INCREMENT má recientemente generado, y no se pierde su valor entre consultas.
Aviso
mysql_insert_id() convierte el tipo de la función nativa de MySQL en el API de C mysql_insert_id() a un tipo de long (llamada int en PHP). Si tu columna AUTO_INCREMENT tiene un tipo BIGINT, el valor regresado por mysql_insert_id() será incorrecto. En ese caso, usa la función interna LAST_INSERT_ID() de SQL en MySQL en una consulta SQL.

EJEMPLO
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Un Comentario »

  1. Hola!

    Estaba buscando información sobre mysql_insert_id() y llegué a tu blog.

    No sé si alguien ya tuvo problemas con esto, pero al usar mysql_insert_id() se me crean filas vacías en la tabla de donde extraigo el último id. ¿alguien sabe a qué se debeo esto y cómo se soluciona?

    ¡Gracias!

    Juan — 19-10-2007 - 15:32:22 GMT 5

Dejar un Comentario


<a href> <em> <blockquote> <strong> <cite> <code> <ul> <li> <dl> <dt> <dd>