Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2015, 14:09
andresSV
 
Fecha de Ingreso: febrero-2015
Mensajes: 8
Antigüedad: 9 años, 3 meses
Puntos: 0
error en foreign key al intentar crear tablas

Buenas tardes! Soy estudiante de ASIR y tengo un problema con la creación de tablas para una base de datos que nos han mandado de trabajo para el fin de semana. Ya creé 3 tablas y a la hora de hacer las dos últimas, me da error, en teoría relacionados con las foreign keys (ambas dos tablas que pretendo crear y no consigo, llevan varias). El caso es que revisé minuciosamente campo por campo las tablas referenciadas a ver si encontraba algo que no coincidiese y no he encontrado nada. Todos las foreign keys referenciadas se encuentran en otras tablas donde son primary keys. Este es el script:
Código SQL:
Ver original
  1. CREATE TABLE ventas(nif VARCHAR(10) NOT NULL,
  2. articulo VARCHAR(20) NOT NULL,
  3. cod_fabricante INT NOT NULL,
  4. peso INT NOT NULL,
  5. categoria VARCHAR(10) NOT NULL,
  6. fecha_venta DATE NOT NULL,
  7. unidades_vendidas INT,
  8.  
  9. PRIMARY KEY(nif, articulo, cod_fabricante, peso, categoria,
  10. fecha_venta),
  11.  
  12. FOREIGN KEY (cod_fabricante) REFERENCES fabricantes(cod_fabricante),
  13.  
  14. FOREIGN KEY(articulo) REFERENCES articulos(articulo)
  15. ON DELETE cascade ON UPDATE cascade,
  16.  
  17. FOREIGN KEY(cod_fabricante) REFERENCES articulos(cod_fabricante)
  18. ON DELETE cascade ON UPDATE cascade,
  19.  
  20. FOREIGN KEY(peso) REFERENCES articulos(peso)
  21. ON DELETE cascade ON UPDATE cascade,
  22.  
  23. FOREIGN KEY(categoria) REFERENCES articulos(categoria)
  24. ON DELETE cascade ON UPDATE cascade);
  25.  
  26.  
  27. CREATE TABLE pedidos(nif VARCHAR(10),articulo VARCHAR(20) NOT NULL,
  28. cod_fabricante INT NOT NULL, peso INT NOT NULL, categoria VARCHAR(10) NOT NULL,
  29. fecha_pedido DATE NOT NULL, unidades_pedidas INT,
  30.  
  31. PRIMARY KEY(nif, articulo, cod_fabricante, peso, categoria, fecha_pedido),
  32.  
  33. FOREIGN KEY(nif) REFERENCES tiendas(nif),
  34.  
  35. FOREIGN KEY(articulo) REFERENCES articulos(articulo)
  36. ON DELETE cascade ON UPDATE cascade,
  37.  
  38. FOREIGN KEY(cod_fabricante) REFERENCES articulos(cod_fabricante)
  39. ON DELETE cascade ON UPDATE cascade,
  40.  
  41. FOREIGN KEY(peso) REFERENCES articulos(peso)
  42. ON DELETE cascade ON UPDATE cascade,
  43.  
  44. FOREIGN KEY(categoria) REFERENCES articulos(categoria)
  45. ON DELETE cascade ON UPDATE cascade);
Probé a meter las foreign keys una a una en cada tabla, y las que me dan error son las dos últimas (peso y categoría). Las demás entran, en las dos tablas que intento crear.
Agradeceria un poco de ayuda. Gracias de antemano!!!!

Última edición por gnzsoloyo; 01/02/2015 a las 14:33