Bases de datos.. dudilla...

D

Hola,

Vereis, tengo que insertar en una tabla un registro producto , el IDProducto de ese registro se genera solo (AUTOINCREMENT), al guardar un producto también debo guardar en otra tabla informacion adicional sobre ese producto, entonces debo meter en la tabla InfoProducto el IDProducto al que se refiere (Conecta 2 tablas, por eso no puedo meterlo todo en Producto), pero claro, tendría que meter el Producto, consultar el ID y luego meter la info adicional en la otra tabla con la ID que pillé de la consulta... este método es muy engorroso...

Era para ver si sabias vos otra manera de hacerlo...

thx

Soltrac

#1 no hay otra manera :) lo introduces, buscas el máximo o último e introduces todo lo relacionado con él.

Alx

Si estás en PHP mysql_insert_id() te devuelve la ID del último insert que hiciste.

Si especificas en que lo estás haciendo (ya que no es lo mismo MySQL que SQLServer que Oracle) seguramente exista una variable global donde se almacene ese valor.

Puede que te valga LAST_INSERT_ID()

C

Ahora mismo no caigo ni me acuerdo muy bien pero creo que esas cosas de conectar dos tablas al menos con MySQL se hacia con un INNER JOIN no? a ver si alguien que se entere mas del tema te puede ayudar, de todas maneras busca INNER JOIN en google a ver...

EnZo

#2 Si que la hay con INNER JOIN como dice el amigo #4

SELECT InfoProducto.* FROM InfoProducto
INNER JOIN Productos
ON InfoProducto.IDProducto = Productos.IDProducto

Prueba ese ejemplo

D

Dije lo que dice #2.

Es Sql Server.

D

#5 creo que no entendiste...

EnZo

Cierto, lei por encima y lo mal interprete. Sorry me colé

Respecto a la solucion, no sé. Yo siempre lo he hecho de la manera engorrosa :/

javithelong

Si mal no recuerdo, el autoincrement siempre subía, no te rellenaba huecos de registros borrados...

Puedes hacer una consulta realmente sencilla del id mayor, y ahi tienes el id para la 2ª tabla.

Saludos

Usuarios habituales