Hola otra vez!
Ya empiezo a desesperar porque lo de las foreign key no me funciona del todo, vamos a ver:
Tres tablas: alunmo,asignatura y profesor
Creo la primera tabla(alumno):
CREATE TABLE alumno (
nombre varchar(20) not null,
apellido1 varchar(20) not null,
apellido2 varchar(20) not null,
curso int not null,
tipoCurso varchar(20) not null,
correoElec varchar(20) not null,
dni varchar(9) not null,
primary key (dni),
foreign key (curso) references asignatura(curso) on delete cascade on update cascade,
foreign key (tipoCurso) references asignatura(tipoCurso) on delete cascade on update cascade) type=InnoDB;
Las dos foreign key no las puedo poner porque todavia no esta creada la tabla asignatura,por lo que las elimino y luego hago un alter table
CREATE TABLE alumno (
nombre varchar(20) not null,
apellido1 varchar(20) not null,
apellido2 varchar(20) not null,
curso int not null,
tipoCurso varchar(20) not null,
correoElec varchar(20) not null,
dni varchar(9) not null,
primary key (dni),
index (curso), index(tipoCurso)//lo dejo preparado para luego) type=InnoDB;
Segunda tabla(asignatura):
CREATE TABLE asignatura (
nomAsig varchar(20) not null,
curso int not null,
tipoCurso varchar(20) not null,
dniPro varchar(9) not null,
codAsig varchar(20) not null,
nomPro varchar(20) not null,
apePro varchar(20) not null,
primary key (nomAsig, curso, tipoCurso, dniPro, codAsig),
index(dniPro)) type=InnoDB;
El mismo problema de antes, la foreign key la elimino y luego hago el alter
Hago el alter de la tabla alumno:
alter table alumno add foreign key (curso) references asignatura(curso) on delete cascade;
alter table alumno add foreign key(tipoCurso) references asignatura(tipoCurso) on delete cascade;
Resultado=Can't create table '.\colegio\#sql-2b4_b6.frm' (errno: 150)
(no sigo con la siguiente es lo mismo)
Sabe alguien que es lo que no hago bien?