Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2010, 07:37
DfUSE
 
Fecha de Ingreso: febrero-2004
Mensajes: 4
Antigüedad: 20 años, 2 meses
Puntos: 0
Multiples Foreign Keys a Multiples references

Hola,

Estoy intentando hacer una tabla (orders) en la que hay dos campos "empresa" diferentes (sacados de una tabla "company" externa) y 4 contactos diferentes (cogidos de una tabla externa llamada "contacts")... que puedo estar haciendo mal con las references? (he usado MySQL Workbench para el diseño de las tablas)

Muchas gracias de antemano.

CREATE TABLE IF NOT EXISTS `db`.`orders` (
`id_order` INT(11) NOT NULL AUTO_INCREMENT ,
`id_company` INT(11) NOT NULL ,
`id_related_company` INT(11) NULL DEFAULT NULL ,
`id_contact_1` INT(11) NOT NULL ,
`id_contact_2` INT(11) NULL DEFAULT NULL ,
`id_contact_3` INT(11) NOT NULL ,
`id_contact_4` INT(11) NOT NULL ,
PRIMARY KEY (`id_order`) ,
CONSTRAINT `orders_ibfk_1`
FOREIGN KEY (`id_company` , `id_related_company` )
REFERENCES `db`.`companies` (`id_company` , `id_company` ),
CONSTRAINT `ordenes_ibfk_2`
FOREIGN KEY (`id_contact_1` , `id_contact_2` , `id_contact_3` , `id_contact_4` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARACTER SET = utf8;

CREATE INDEX `id_related_company` ON `db`.`orders` (`id_related_company` ASC) ;
CREATE INDEX `id_company` ON `db`.`orders` (`id_company` ASC) ;
CREATE INDEX `id_contact_1` ON `db`.`orders` (`id_contact_1` ASC) ;
CREATE INDEX `id_contact_2` ON `db`.`orders` (`id_contact_2` ASC) ;
CREATE INDEX `id_contact_3` ON `db`.`orders` (`id_contact_3` ASC) ;
CREATE INDEX `id_contact_4` ON `db`.`orders` (`id_contact_4` ASC) ;