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