Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2012, 04:22
igagop
 
Fecha de Ingreso: abril-2012
Mensajes: 6
Antigüedad: 12 años, 7 meses
Puntos: 0
Claves foraneas

Buenas,
Tengo una base de datos con varias tablas. Una de ellas es usuarios, en la que su PK es email. Otra tabla es amigos, que tiene solo dos campos, email1 y email2, PK(email1,email2). La cuestion es que quiero que para la tabla amigos la clave foranea para email1 sea email de usuarios y para email2 tambien sea email de usuarios. Estoy utilizando el motor InnoDB y el codigo que intengo ejecutar es el siguiente pero me da error:

CREATE TABLE if not exists `personas`.`amigos` (`email1` VARCHAR(30) NOT NULL ,`email2` VARCHAR(30) NOT NULL , PRIMARY KEY (`email1`, `email2`) , INDEX (`email1`, `email2`) , FOREIGN KEY (`email1` , `email2` ) REFERENCES `personas`.`usuarios` (`email`,`email`) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=INNODB;

El error que me da es errno: 150.

Alguien me puede ayudar en como conseguir esto?
Muchas gracias