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

2 campos con InnoDB

Estas en el tema de 2 campos con InnoDB en el foro de Mysql en Foros del Web. Acabo de empezar a mirarme el InnoDB y tengo un problemilla, se puede crear dos claves foráneas en una tabla????? Es decir por ejemplo yo ...
  #1 (permalink)  
Antiguo 18/01/2006, 04:06
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
2 campos con InnoDB

Acabo de empezar a mirarme el InnoDB y tengo un problemilla, se puede crear dos claves foráneas en una tabla?????

Es decir por ejemplo yo tengo una tabla de productos con id_fam y id_fab, el id_fam lo e relacionado con la tabla familias ya, pero al crear otra relacion para la tabla de fabricantes, ambos son de tipo INT (11), en la de fabricantes se llama id y es clave primaria, y en la tabla de productos me he creado id_fam y id_fab como INDEX.

ALTER TABLE productos ADD FOREIGN KEY (id_fab) REFERENCES fabricantes (id) ON DELETE CASCADE

Can't create table '.\shop\#sql-9a4_17d.frm' (errno: 150)

No se cual es mi fallo, Gracias por vuestra ayuda y un saludo.
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #2 (permalink)  
Antiguo 20/01/2006, 08:25
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Si estas tratando de hacer un alter table a una tabla comprueba que todos los campos que intervienen en la foreign key son índices tanto en la tabla origen como en la destino, tambien verifica que los tipos de datos en ambas tablas coincidan, y por si acaso seria bueno que revises que informacion mas te da el motor de innodb sobre tu error que tienes usando un
SHOW INNODB STATUS;

ALTER TABLE Pedidos ADD CONSTRAINT RelacionPedidos FOREIGN KEY
(ID_Empleado) REFERENCES Empleados (ID_Empleado);

suerte,cya
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 17:42.