Hola gente, tengo un problema al crear unas tablas.
La cuestion es que el phpmyadmin no quiere crear las tablas correspondientes a las categorias (por favor ver el código y la imagen adjunta que estan al final).
Ellas son: categoria1, categoria2 y categoria3.
Devolviéndome el siguiente error: #1072 - Key column 'id_categoria_productos' doesn't exist in table
Interpreto que algo pasa con las relaciones FK entre las categorias y la tabla 'categoria_productos'
Aclaro que las tablas 'categoria_productos' y 'productos' se crean correctamente
¿Alguien puede decirme porque sucede esto, acaso no puedo utilizar una clave primaria como relación para más de una tabla?
Aquí les dejo el código.
Código:
CREATE TABLE categoria_productos
(
id_categoria_productos INT NOT NULL ,
categoria1 INT ,
categoria2 INT ,
categoria3 INT ,
PRIMARY KEY (id_categoria_productos)
)
TYPE = InnoDB;
CREATE TABLE productos (
id_productos INT NOT NULL,
codigo VARCHAR(255) ,
nombre VARCHAR(255) ,
descripcion TEXT ,
imagen VARCHAR(255) ,
imagen_miniatura VARCHAR(255) ,
imagen_descriptiva VARCHAR(255) ,
alto VARCHAR(255) ,
ancho VARCHAR(255) ,
peso VARCHAR(255) ,
precio VARCHAR(255) ,
categoria VARCHAR(255) ,
publicar INT ,
despublicar INT ,
id_categoria_productos INT ,
PRIMARY KEY (id_productos) ,
INDEX (id_categoria_productos) ,
FOREIGN KEY (id_categoria_productos) REFERENCES categoria_productos(id_categoria_productos)
)
TYPE = InnoDB;
CREATE TABLE categoria1
(
id_categoria1 INT NOT NULL ,
nombre VARCHAR(255) ,
descripcion VARCHAR(255) ,
publicar INT ,
despublicar INT ,
PRIMARY KEY (id_categoria1) ,
INDEX (id_categoria_productos) ,
FOREIGN KEY (id_categoria_productos) REFERENCES categoria_productos(id_categoria_productos)
)
TYPE = InnoDB;
CREATE TABLE categoria2
(
id_categoria2 INT NOT NULL ,
nombre VARCHAR(255) ,
descripcion VARCHAR(255) ,
publicar INT ,
despublicar INT ,
PRIMARY KEY (id_categoria2) ,
INDEX (id_categoria_productos) ,
FOREIGN KEY (id_categoria_productos) REFERENCES categoria_productos(id_categoria_productos)
)
TYPE = InnoDB;
CREATE TABLE categoria3
(
id_categoria3 INT NOT NULL ,
nombre VARCHAR(255) ,
descripcion VARCHAR(255) ,
publicar INT ,
despublicar INT ,
PRIMARY KEY (id_categoria3) ,
INDEX (id_categoria_productos) ,
FOREIGN KEY (id_categoria_productos) REFERENCES categoria_productos(id_categoria_productos)
)
TYPE = InnoDB;
CREATE TABLE usuarios
(
id_usuarios INT NOT NULL ,
cortesia VARCHAR(255) ,
nombre VARCHAR(255) ,
apellidos VARCHAR(255) ,
nombre_de_usuario VARCHAR(255) ,
contrasena VARCHAR(255) ,
correo VARCHAR(255) ,
telefono VARCHAR(255) ,
telefono_movil VARCHAR(255) ,
domicilio VARCHAR(255) ,
localidad VARCHAR(255) ,
codigo postal INT ,
sexo VARCHAR(255)
)
TYPE = InnoDB;
Desde ya muchas gracias de antemano.
P/D: Adjunto una imagen del modelo ER. (es solo ilustrativa ya que use mysql workbench para modelar visualmente y no para exportar el código sql .)
http://www.mediafire.com/i/?5daxieccldsb67v