Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

mysql_insert_id

Estas en el tema de mysql_insert_id en el foro de Bases de Datos General en Foros del Web. Hola amigos, mi duda es la siguiente: Tengo claro que mysql_insert_id me mostrará el último id insertado en un campo autoincrementable , el problema mío ...
  #1 (permalink)  
Antiguo 15/01/2005, 19:52
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 22 años, 10 meses
Puntos: 2
Exclamación mysql_insert_id

Hola amigos, mi duda es la siguiente:
Tengo claro que mysql_insert_id me mostrará el último id insertado en un campo autoincrementable , el problema mío es que esa función me dá lo que necesito inmediatamente después de insertar un campo en la base de datos , pero yo necesito esa información antes de insertar un dato en la tabla y cuando uso la función me da valor "0" :-p ,
Ahora bien, se que max() también me puede servir, el problema es que mis tablas están en constante movimiento de insertar y borrar datos, por lo tanto el id más alto no necesariamente va a ser el último insertado.
Ejemplo:
El último campo autoincrementable es 84, por lo tanto el que sigue sería el 85 ¿verdad?, antes de insertar el siguiente dato borro el id 84, max() me daria el valor 83, pero el id que inserte sería el 85, necesito entonces que me si o si el último id insertado antes de ingresar un nuevo dato.

Como lo hago, ¡¡¡¡helpme please!!!!

Gracias amigos
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563
  #2 (permalink)  
Antiguo 15/01/2005, 22:53
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 20 años
Puntos: 3
podrias usar transacciones, ya mysql permite utilizar las transacciones, asi que primero abre la transaccion, luego haces todo lo que tengas que hacer y luego aplicas o commit y puede seguir el siguiente....

tampoco entendi muy bien lo que quieres hacer, asi que lo que te dije arriba podria no ser util. no entendi para que es que necesitas el mayor o ultimo registro.

tuanix
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 20/01/2005, 15:26
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 22 años, 10 meses
Puntos: 2
Ocurre que lo que necesito es guardar en una base de datos distintos campos, por ejemplo nombrar una imagen de algún texto de acuerdo al ultimo id que tenga.....
Ejemplo si el último id insertado es 65, la imagen se llamará (id +1) es decir 66.jpg (es un ejemplo), con esto toma como nombre el valor del id actual.
Entonces necesito saber el valor que tendrá el id, que voy a insertar, para nombrar la imagen de acuerdo a ese valor. Entonces mysql_insert_id, no me sirve, ya que, necesariamente no he insertado ningún valor anteriormente.

Que pasa si tengo el registro 65 como ultimo id y lo borro????, con max(id), me va a entregar el valor 64 por lo tanto la imagen será 65, y eso no puede ser, porque aún conservo la imagen anterior.
En resumen, lo que necesito, es saber el valor que tendrá el campo autoincrementable, antes de insertar un nuevo valor en la tabla.


¿¿Se entiende???

Desde ya gracias
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.