No puedo crear claves ajenas

portaldeamigos
12 de Noviembre del 2004
Hola a todos, tengo problemas para crear claves ajenas me da error 150, lo he intentado de varias maneras y me da error, os dejo el codigo haber q me decis. Me comenta gente que no sirven para nada que mysql no comprueba integridad, yo es q soy un poco nuevo pero pongo en duda eso, espero una respuesta pronto x favor. Codigo:

CREATE TABLE elinks (
idelinks int(11),
nombre varchar(60) NOT NULL default '',
descripcion varchar(255) default '',
tamaño varchar(6) default '',
imagen varchar(60) default '',
ididioma int(11),
subidopor varchar(15) default '',
idformato int(11),
webref varchar(100) default '',
idseccion int(11),
fecha datetime default '0000-00-00 00:00:00',
estado char(1),
PRIMARY KEY (idelinks),
FOREIGN KEY (ididioma) REFERENCES idioma(ididioma)
ON DELETE RESTRICT ON UPDATE CASCADE
) TYPE=INNODB;

Esa da error y la padre es:
CREATE TABLE `idioma` (
`ididioma` int(11) NOT NULL default '0',
`idioma` varchar(30) NOT NULL default '',
PRIMARY KEY (`ididioma`)
) TYPE=InnoDB;


Espero noticias y gracias a todos.

malena
12 de Noviembre del 2004
Tiene que crear un indice el la tabla elinks que referncie al campo ididioma, y luego te dejara