Foros del Web » Programando para Internet » PHP »

conocer autoincrement

Estas en el tema de conocer autoincrement en el foro de PHP en Foros del Web. Que tal, mi problema es el siguiente: En una BD en mySQL Tengo una tabla ' T1 ' donde tengo un campo ' id ' ...
  #1 (permalink)  
Antiguo 10/12/2008, 12:56
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 2
conocer autoincrement

Que tal, mi problema es el siguiente:

En una BD en mySQL Tengo una tabla 'T1' donde tengo un campo 'id' que tiene auto_increment. Si quiero insertar un registro a esa tabla solamente tengo que introducir los otros campos en T1 excepto 'id' ya que este último es asignado automáticamente (1,2,3,4,5,6,....etc).

El problema es que en este formulario tambien se capturan datos de otra tabla 'T2' en la cual existe un campo 'id_en_T1' el cual deberá ser el mismo que que 'id' en T1, mi problema es que no se como saber que numero le asignará pues esto pasa hasta que se inserta, lo que hice una vez fue
  1. Insertar los datos en tabla 1
  2. Buscar el registro recien insertado mediante un query
    Código:
    SELECT 'id' FROM 'T1' WHERE todos los campos sean igual al formulario enviado.
    
    Esto con el fin de restringir los resultados a solo uno, incluso le puse LIMIT 1
  3. Mediante el query del paso 2 obtengo el id y ese es el que utlizo para insertar en 'id_en_T1' de T2 pero tengo la sensacion de que esto no esta muy bien hecho, además de que no garantiza (segun yo) que obtenga el registro correcto ya que aunque sea raro puede ser que si exista varios registros con exactamente los mismos datos y por lo tanto el id sea el incorrecto.

Todo sería mas facil si existiera una forma de saber que valor le asiganará con el autoincrement. espero me halla hecho entender. Agradezco toda la ayuda de antemano.
  #2 (permalink)  
Antiguo 10/12/2008, 13:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: conocer autoincrement

tal ves... mysql_insert_id ???

http://php.net/mysql_insert_id
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/12/2008, 13:05
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: conocer autoincrement

La solución es MUCHO mas fácil de que estas haciendo.

Ejecuta tu sentencia para insertar los datos en T1, luego, si la consulta se ejecuto correctamente, llamadas a la función mysql_insert_id() (si usas mysql, sino cambias el nombre por el correcto). Esta función te obtiene el valor clave generada por la ultima consulta de tipo INSERT, por lo tanto deberas guardar ese valor y luego agregarlo a tu consulta para insertar los datos en T2.
__________________
KIBIT.cl
  #4 (permalink)  
Antiguo 10/12/2008, 14:07
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: conocer autoincrement

Gracias por la pronta respueta, gracias por el dato. Lo probaré y comento los resultados.
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 16:33.