Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con Foreign key

Estas en el tema de Problema con Foreign key en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/01/2006, 07:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 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.
  #2 (permalink)  
Antiguo 16/01/2006, 10:05
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Problema solucionado. Resulta que todas las tablas tienen que estar en modo "InnoDB". Por defecto hay otro motor de base de datos. No recordé lo que me dijo mi gran amigo deadlykyo hace unos dias jeje.Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:00.