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

Inserción en 2 tablas (Videoclub)

Estas en el tema de Inserción en 2 tablas (Videoclub) en el foro de Mysql en Foros del Web. Hola tengo el siguiente problema para insertar una serie de registro en dos tablas: Tablas: * rentas *pk_renta (Autonumerico) *fk_usuario (int) *fecha_renta (date) *fecha_entrega (date) ...
  #1 (permalink)  
Antiguo 15/03/2008, 00:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 18 años
Puntos: 0
Inserción en 2 tablas (Videoclub)

Hola tengo el siguiente problema para insertar una serie de registro en dos tablas:

Tablas:

* rentas

*pk_renta (Autonumerico)
*fk_usuario (int)
*fecha_renta (date)
*fecha_entrega (date)

* detalles_renta

*pk_detalle_renta (Autonumerico)
*fk_renta (int) - Es la relacion con renta, para saber a que renta pertence esa pelicula
*fk_inventario (int) - Para conocer el codigo de la pelicua fisica
*fk_pelicula (int) - Para conocer el titulo de la pelicla

El problema en sí viene cuando quiero registrar los detalles de renta, ya que lo hago a través de un ciclo obteniendo los datos para los campos y el fk_renta lo obtengo a traves de una consulta previa, para conocer a cual pertenecen, pero ahi viene el error, me regresa: Duplicate 'valor' key 2 (puede ser cualquier valor), por lo que veo me está duplicando una PK, pero suena lógico para determinar que todas esas peliculas se hicieron en esa renta (fk_renta)...

Alguna solución?? Espero me hayan comprendido, ya que necesito ayuda con eso...

Gracias.

P.D: Estoy trabajando con ColdFusion 8
  #2 (permalink)  
Antiguo 15/03/2008, 09:55
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Re: Inserción en 2 tablas (Videoclub)

blinkx, tu estructura de tus tablas parece estar correcta, no le veo problemas, lo mas probable sea algo en el ciclo que utilizas para insertar tus datos, revisa bien las consultas que estas ejecutando o postea el SQL que te genera para ver que pueda ser, te dejo una idea de como mas o menos deberia ser:
Código PHP:
//tabla renta
INSERT INTO renta (pk_rentafk_usuario, ...) VALUES (1,10,...)

//tabla detalles_renta
mysql>INSERT INTO renta (pk_detalle_rentafk_rentafk_inventariofk_peliculaVALUES (1,1,100,115);
mysql>INSERT INTO renta (pk_detalle_rentafk_rentafk_inventariofk_peliculaVALUES (2,1,200,116)
mysql>INSERT INTO renta (pk_detalle_rentafk_rentafk_inventariofk_peliculaVALUES (3,1,300,117
si estas ejecutando consultas SQL de esa manera no deberias tener problemas, ese seria el caso del alguiler de tres peliculas, saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 15/03/2008, 13:18
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Inserción en 2 tablas (Videoclub)

Si lo que dice deadlykyo no resuelve tu problema, entonces coloca los CREATE de las tablas y no sólo los campos.
Un Duplicate Key tiene que ver con los índices, no con los campos.

Saludos
__________________
pragone
Blog: Desarrollo, comunidad y monetización
Últimos artículos: Tips de Smarty
  #4 (permalink)  
Antiguo 16/03/2008, 13:52
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 18 años
Puntos: 0
Re: Inserción en 2 tablas (Videoclub)

Gracias por responder, la inserción se hacía de forma correcta, el problema era los índices como comenta pragone, estaba como UNIQUE, lo cambié a NORMAL desde el Navicat y listo, de nuevo gracias a los dos.

Saludos.
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 22:13.