Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2006, 07:52
sneider
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 8 meses
Puntos: 0
Problema con Foreign key

Buenas que tal. Estoy teniendo un problema que no se como solucionarlo. Resulta que tengo una base de datos con varias tablas. Entre las tablas hay una que se llama CATEGORIAS y otra tabla que se llama MARCAS. Pues bien, lo ke kiero es relacionarlas con mi tabla PRODUCTOS a modo de FOREIGN KEY.
Yo escribo lo siguiente:

CREATE TABLE `productos`(
`id_producto` BIGINT NOT NULL ,
`precio` DECIMAL( 6, 2 ) NOT NULL ,
`descripcion` TEXT NOT NULL ,
`id_categoria` BIGINT(20) NOT NULL ,
`id_marca` BIGINT(20) NOT NULL ,
PRIMARY KEY ( `id_producto` ),
INDEX ( `id_categoria` ) ,
FOREIGN KEY ( `id_categoria` ) REFERENCES categorias( `id_categoria` )
ON UPDATE CASCADE ON DELETE RESTRICT ,
INDEX ( `id_marca` ) ,
FOREIGN KEY ( `id_marca` ) REFERENCES marcas( `id_marca` )
ON UPDATE CASCADE ON DELETE RESTRICT
)TYPE=InnoDB;


Me da el siguiente error:
#1005 - No puedo crear tabla '.\bodega\productos.frm' (Error: 150)

NOTA: como se puede observar solo hay en mi tabla PRODUCTOS una PRIMARY KEY, no se si es necesario que los atributos id_categoria e id_marca tambien sean PRIMARY KEY.

Como puedo solucionar esto?Gracias a todo aquel ke pueda ayudarme. Un saludo. Estoy usando MYSQL 4.1.9.