MySql Workbench: 1215 cannot add foreign key constraint

Estava estudando SQL mas quando tava terminando a atividade não deu mais. As duas últimas linhas
não passaram, e não consigo entender o motivo. O erro é 1215 cannot add foreign key constraint.

[code]CREATE DATABASE e2;
USE e2;

CREATE TABLE tipo (
codigo int unsigned not null auto_increment,
tipo varchar(45) not null,
PRIMARY KEY (codigo)
);

CREATE TABLE intrutor (
codigo int unsigned not null auto_increment,
instrutor varchar(45) not null,
telefone varchar(10) not null,
PRIMARY KEY (codigo)
);

ALTER TABLE intrutor rename instrutor;

CREATE TABLE curso (
codigo int unsigned not null auto_increment,
curso varchar(45) not null,
tipo varchar(45) not null,
instrutor varchar(45) not null,
valor double not null,
PRIMARY KEY(codigo),
CONSTRAINT curso_tipo FOREIGN KEY (tipo) REFERENCES tipo(tipo),
CONSTRAINT curso_instrutor FOREIGN KEY(instrutor) REFERENCES instrutor(instrutor) );

CREATE TABLE aluno (
codigo int unsigned not null auto_increment,
aluno varchar(45) not null,
endereco varchar(70) not null,
email varchar(45) not null,
PRIMARY KEY(codigo) );

CREATE TABLE pedido (
codigo int unsigned not null auto_increment,
aluno int unsigned not null,
datade varchar(45) not null,
horade varchar(45) not null,
PRIMARY KEY (codigo),
FOREIGN KEY (aluno) REFERENCES aluno(codigo) );

CREATE TABLE pedido_detalhes (
pedido int unsigned not null,
curso int unsigned not null,
valor double not null,
PRIMARY KEY (pedido, curso),
– ESSAS DUAS BATATAS ABAIXO QUE NÃO FUNCIONAM, ESSAS QUENGAS!
FOREIGN KEY (pedido) REFERENCES pedido(codigo),
FOREIGN KEY (curso) REFERENCES curso(codigo) );

[/code]

Se alguém souber o que tá acontecendo vou ficar bem feliz :3.

Que?

cara eu fiz assim e deu certo:

alter table instrutor
change codigo codigo int not null auto_increment;

alter table tipo
change codigo codigo int not null auto_increment    


CREATE TABLE curso (
 codigo int unsigned not null auto_increment, 
curso varchar(45) not null,
tipo int(11) not null,
instrutor int(11) not null,
valor double not null,
PRIMARY KEY(codigo),
FOREIGN KEY (tipo) REFERENCES tipo(codigo),
FOREIGN KEY (instrutor) REFERENCES instrutor(codigo) );