MySQL - Error por que ?

 
Vista:

Error por que ?

Publicado por sneider (6 intervenciones) el 13/01/2006 16:15:27
Buenas, tengo varias tablas en mi base de datos. Ciertas tablas se relacionan con otras tablas, para ello es necesario foreign key. Pues bien, me da el siguiente error al hacer relacion 1 tabla con otras 2 .
El error es el siguiente:

#1064 - Algo esta equivocado en su sintax cerca 'INDEX (`id_categoria`),
FOREIGN KEY (`id_categoria`)
REFER' en la linea 12

El codigo es el siguiente:

CREATE TABLE `productos` (
`id_producto` BIGINT NOT NULL,
`precio` DECIMAL(6,2) NOT NULL,
`estado` TINYINT(1) NOT NULL,
`origen` VARCHAR(20) NOT NULL,
`nombre_producto` VARCHAR(30) NOT NULL,
`foto` VARCHAR(30) NOT NULL,
`descripcion` TEXT NOT NULL,
`id_categoria` BIGINT NOT NULL,
`id_marca` BIGINT NOT NULL,
PRIMARY KEY(`id_producto`,`id_categoria`,`id_marca`)
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;

En que puede fallar o en que me he equivocado?? Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder