error en MySQL con foreign key

markosar200294

New Member
Messages
56
Reaction score
0
Points
0
Hola, tengo dos tablas y un problema. La primera tabla (material_alumnos) la creo si mas.
CREATE DATABASE proba;
USE proba;
CREATE TABLE alumnos (
Id tinyint(3) unsigned NOT NULL auto_increment,
nivel varchar(2) ,
PRIMARY KEY (Id)
);

Al crear la segunda me da un error:
Can't create table '.\proba\material_alumnos.frm' (errno: 150)

--NO FUNCIONA--
CREATE TABLE IF NOT EXISTS material_alumnos (
Id tinyint(6) unsigned NOT NULL auto_increment,
nivel varchar(2),
PRIMARY KEY (Id),
CONSTRAINT FK_id_dato FOREIGN KEY (nivel)
REFERENCES alumnos(nivel) ON DELETE CASCADE
);
--NO FUNCIONA--

Si embargo si la creo asi no me da problemas.
CREATE TABLE IF NOT EXISTS material_alumnos (
Id tinyint(6) unsigned NOT NULL auto_increment,
nivel varchar(2) REFERENCES alumnos(nivel) ON DELETE CASCADE,
PRIMARY KEY (Id)
);

Hasta donde yo se estas dos formas de crear la tabla funcionan igual. Alguien me puede ayudar a saber que es lo que pasa con esa tabla?
 
Top