MYSQL WORKBENCH erro com FOREIGN KEY

Estou com um problema no MYSQL workbench, não estou conseguindo criar a tabela AreasDeConhecimento, segue o código:

create database pratica04
default character set utf8
default collate utf8_general_ci;

use pratica04;



create table GrandesAreasDeConhecimento(
codGac int not null,
nome VARCHAR(45) not null,
constraint t1 primary key (codGac),
constraint t2 check (codGac > 0)
);



create table AreasDeConhecimento(
codigo int not null auto_increment,
nome varchar(45),
fk_codGac int not null,
fk_cpf_pesq int not null,

constraint aa primary key(codigo),
constraint bb check (codigo > 0),
constraint cc foreign key (fk_codGac) references GrandesAreasDeConhecimento (codGac),
constraint dd foreign key (fk_cpf_pesq) references Pesquisador (cpf)

)ENGINE=InnoDB DEFAULT CHARSET=latin1;

create table Instituicao(
codInstituicao int(2),
nome varchar(30),
PRIMARY KEY (codInstituicao) 
) default charset = utf8;

CREATE TABLE Projetos(
codigo_interno INT NOT NULL,
titulo    VARCHAR(20),
orcamento VARCHAR (10),
dt_envio date not null,
dt_recebe date not null,
resposta VARCHAR(12),
codInstituicao INT,
cpf_pesq INT,
cpfAvl INT,
codGrande_A INT,
cod_A int,
PRIMARY KEY (codigo_interno),
FOREIGN KEY(codGrande_A)
references GrandesAreasDeConhecimento(codGac),
FOREIGN KEY (cpfAvl)
references Avaliador (cpf),
FOREIGN KEY(cpf_pesq)
references Pesquisador(cpf),
FOREIGN KEY (cod_A)
references AreasDeConhecimento(codigo),
FOREIGN KEY (codInstituicao)
references Instituicao(codInstituicao)
) default charset = utf8;

create table Avaliador(
cpf int not null,
grauAcademico varchar(15) not null,
rg int not null, 
nome char not null,
dataNasc date not null,
sexo VARCHAR(1),
codInstituicao int not null,
PRIMARY KEY(cpf),
FOREIGN KEY(codInstituicao)
references Instituicao(codInstituicao)
) default charset = utf8;


CREATE TABLE Pesquisador(
cpf int not null,
grauAcademico VARCHAR(15) NOT NULL,
nome VARCHAR(40)not null,
sexo varchar(2) not null,
dataNasc date not null,
RG char(9) not null,
codInstituicao int not null,
constraint cc primary key (cpf),
constraint dd foreign key (codInstituicao)
references Instituicao(codInstituicao)

) default charset = utf8;







insert into GrandesAreasDeConhecimento Values (
(1, 'Ciências Exatas e da Terra'),
(2, 'Ciências da Saúde'),
(3, 'Ciências Biológicas'),
(4, 'Ciências Agrárias'),
(5, 'Engenharias'),
(6, 'Ciências Sociais Aplicadas'),
(7, 'Ciências Humanas')
);


insert into AreasDeConhecimento Values 
(1, 'Matemática', 1, '129.312.442.21'),
(2,  'Física', 1, '124.421.754-12'),
(3,  'Ciência da Computação', 1, '244.512.215-88'),
(4,  'Medicina', 2, '521.422.746-23'),
(5,  'Odontologia', 2, '235.531.774-62'),
(6,  'Farmácia', 2, '622.125.762-26'),
(7,  'Biologia Geral', 3, '633.521.832-82'),
(8,  'Genética', 3, '212.552.721-23'),
(9,  'Morfologia', 3, '512.125.742-21'),
(10, 'Medicina Veterinária',4, '521.567.782-24'),
(11, 'Engenharia Agrícola',4, '118.521.125-22'),
(12, 'Agronomia',4, '124.426.167-21'),
(13, 'Engenharia Química',5, '124.425.753-12'),
(14, 'Engenharia Civil',5, '774.253.689-01'),
(15, 'Engenharia De Minas',5, '958.864.418-99'),
(16, 'Administração',6, '126.642.257-31'),
(17, 'Direito',6, '126.632.212-95'),
(18, 'Economia',6, '124.673.368-84'),
(19, 'Antropologia',7, '126.632.284-92'),
(20, 'Filosofia',7, '857.387.291-29'),
(21,'Sociologia',7, '653.323.764-21')
;



insert into Projetos (codigo_interno, titulo, duracao, orcamento, codGac, cpf, resposta)values
(1, 'CELULAR DE GRAFENO', '4', '1299', 3, 123123123, 'APROVADO'),
(2, 'MICROSCOPIO 2018', '3', '599', 3, 1231233, 'REPROVADO'),
(3, 'NOVO IPHONE XXX', '12', '9999', 3, 123123, 'APROVADO'),
(4, 'DESENVOLVIMENTO MOBILE', '5', '1357', 3, 1231223, 'APROVADO'),
(5, 'PESQUISA - CURA DA AIDS', '24', '5799', 13, 44212312, 'APROVADO'),
(6, 'ACELERAÇÃO DE PLANTAÇÕES', '5', '799', 11, 1231233, 'REPROVADO'),
(7, 'MICRO expressões', '6', '399', 17, 55435435, 'APROVADO'),
(8, 'PROJETO', '4', '55', 12, 534535345, 'REPROVADO')
;

aparece o erro: (errno: 150 “Foreign key constraint is incorrectly formed”) 0.203 sec

desde já,obrigado

Olhando por cima, a sua chave estrangeira na tabela AreasDeConhecimento referencia a tabela Pesquisador, que é criada depois da tabela AreasDeConhecimento.

Você precisa criar a tabela Pesquisador antes, ou criar as tabelas AreasDeConhecimento sem as chaves estrangeiras e só depois criar as chaves estrangeiras.

Abraço.

Eai, pelo visto esse é o problema mesmo, mas ai, se eu coloco o Pesquisador antes, ele por sua vez também possui fk de outra tabela que vem antes, então acho que vou ter q inserir as chaves depois mesmo

Arrumei aqui, só foi tacar o create table dos projetos pra último lugar, e um alter table da AreaDeConhecimento, valeuuuuuuuuu mano de vdd <3