Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/03/2011, 15:53
Avatar de rfadgrmm
rfadgrmm
 
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Sonrisa Respuesta: mysql_insert_id VS LAST_INSERT_ID

Hola pateketrueke, gracias por la sugerencia. Como expliqué en mi último post, mysql_insert_id() funciona sobre el último ID generado, desde una sentencia SQL de inserción simple: (Suponiendo, si mi tabla PERSONAS tiene el auto incremento de valor 2)

Código PHP:
$sql "INSERT INTO personas(Apellidos, Nombres) VALUES ('DIAZ', 'Lourdes')";
mysql_query($sql$conx);
$ultimo mysql_insert_id();
//Me devuelve : 3 ... 
Hasta ahí realiza bien su función, capturo el ID siempre y cuando sea una inserción simple. Ahora para una consulta de inserción múltiple:

Código PHP:
$sql "INSERT INTO personas(Apellidos, Nombres) VALUES ('DIAZ', 'Lourdes'), ('ARANA', 'José'), ('AREVALO', 'Cinthya'), ('ANGELES', 'Aleeda')";
mysql_query($sql$conx);
$ultimo mysql_insert_id();
//Me devuelve: 6 ... 
En este ejemplo me devuelve 6, pero quisiera recuperar el resto (Es decir: 3, 4, 5), sin tener que recurrir a la consulta de inserción simple. (Es decir, uno por uno) Por ahora, mi programación tiene esa funcionalidad de uno por uno.

Si es posible, me gustaría alguna idea de como hacerlo, por ahora estoy desarrollando una alternativa que se acerque a lo que busco.

Nota: LAST_INSERT_ID() (MySQL) al parecer trabaja bien con ID's en campos del tipo BIGINT, ya que con mysql_insert_id() (API PHP) puede capturar ID's en campos que no superen el límite de un INT, ya que si lo sobrepasa lo transformaría en datos del tipo LONG, y pueden producirse errores al momento de buscar datos relacionados con el ID generado. Si alguien puede confirmar esta información, estaré muy agradecido.

Saludos
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D