Tengo las tres siguientes tablas:
CREATE TABLE `clave` (
`clave` VARCHAR( 25 ) NOT NULL ,
`tipo` VARCHAR( 25 ) NOT NULL ,
PRIMARY KEY ( `clave` )
) ENGINE = innodb;
CREATE TABLE `metodo` (
`semilla` VARCHAR( 100 ) NOT NULL ,
`algoritmo` VARCHAR( 5 ) NOT NULL ,
PRIMARY KEY ( `semilla`,`algoritmo` )
) ENGINE = innodb;
REATE TABLE `clave_metodo` (
`clave` VARCHAR( 25 ) NOT NULL ,
`semilla` VARCHAR( 100 ) NOT NULL ,
`algoritmo` VARCHAR( 5 ) NOT NULL ,
PRIMARY KEY ( `clave`,`semilla`,`algoritmo` )
) ENGINE = innodb;
Al realizar las siguientes modificaciones, no me crea la segunda, me arroja el error (errno:150) Revise los tipos de datos: algoritmo.
ALTER TABLE `clave_metodo` ADD FOREIGN KEY (`semilla`) REFERENCES `proyecto`.`metodo` (`semilla`) ON DELETE CASCADE;
ALTER TABLE `clave_metodo` ADD FOREIGN KEY (`algoritmo`) REFERENCES `proyecto`.`metodo` (`algoritmo`) ON DELETE CASCADE;
Usan el mismo tipo de datos, mismo motor, misma codificación, he buscado por muchos sitios pero no encuentro la solución a mi problema. ¿Alquien sabe que les lo que puede pasar?