Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2013, 14:27
Gabriel_xv
 
Fecha de Ingreso: julio-2013
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema llaves foraneas

Hola, de paso aprovecho de decir que soy nuevo en este sitio jeje.

Al grano, tengo un problema con mi base de datos, no se si me estoy saltando algo importante que no recuerde, espero que puedan ayudarme y de paso a todos quienes pasen por aca.

Mi base de datos se compone de 4 tablas fundamentalmente que para este caso nombrare 3: PROVEEDOR, PRODUCTO, ARRIENDO.

Entre PROVEEDOR y PRODUCTO hice una tabla llamada PROVEEDOR_PRODUCTO donde tiene 2 atributos normales que dependen de las 2 tablas y 2 atributos que son llave foranea. El campo 'PROVEEDOR_PRODUCTO ','id_Proveedor' se relaciona con 'PROVEEDOR','idProveedor', por medio de ALTER TABLE cree la relacion perfectamente.

Ahora, tengo problemas al relacionar 'PROVEEDOR_PRODUCTO ','id_Producto' con la id de 'PRODUCTO','idProducto'. Cabe mencionar que ARRIENDO tiene una llave foranea llamando 'PRODUCTO','idProducto'.

Trabajo con MySQL Workbench y me lanzo este error

Código MySQL:
Ver original
  1. ERROR 1005: Can't create table 'bd_sistema.#sql-4b4_fd' (errno: 121)
  2.  
  3. SQL Statement:
  4. ALTER TABLE `bd_sistema`.`proveedor_producto`
  5.   ADD CONSTRAINT `id_Producto`
  6.   FOREIGN KEY (`id_Producto` )
  7.   REFERENCES `bd_sistema`.`producto` (`idproducto` )
  8.  
  9. , ADD INDEX `id_Producto` (`id_Producto` ASC)
  10.  
  11. ERROR: Error when running failback script. Details follow.
  12.  
  13. ERROR 1050: Table 'proveedor_producto' already exists
  14.  
  15. SQL Statement:
  16.  
  17. CREATE TABLE `proveedor_producto` (
  18.   `idProdProv` int(11) NOT NULL AUTO_INCREMENT,
  19.   `DctoProd` int(11) DEFAULT NULL,
  20.   `TotalProd` int(11) DEFAULT NULL,
  21.   `id_Proveedor` int(11) DEFAULT NULL,
  22.   `id_Producto` int(11) DEFAULT NULL,
  23.  
  24.   PRIMARY KEY (`idProdProv`),

Espero que se entienda todo claramente.

Última edición por Gabriel_xv; 21/07/2013 a las 14:29 Razón: falto información para agregar