4
respostas

Cannot add foreign key constraint

Estou tentando criar uma tabela, mas está dando o seguinte erro:

"Error code: 1225. Cannot add foreign key constraint"

A primeira tabela consigo criar tranquilamente, mas a segunda ta dando esse erro quando tento adicionar a foreign key.

Alguem sabe o que pode ser? Aqui vai as querys:

create table instituição(
    sigla varchar(20) not null,
    nome varchar(55) not null,
    país varchar(50) not null,
    primary key(sigla));

create table pesquisador(
    numero_sequencial int auto_increment not null,
    nome varchar(100) not null,
    sigla_instituição varchar(20) not null,
    primary key(numero_sequencial),
    foreign key(sigla_instituição) references instituição(sigla));
4 respostas

Olá Oliverrah,

estranho, rodei exatamente estes comandos que você mandou no meu mysql e executou perfeitamente, não deu nenhum erro. Qual sua versão de mysql?

Acabei de fazer o teste pelo cmd e também rodou, porém o erro é quando tento fazer isso no mysql worbench. Sabe o que pode ser?

A verão do mysql é a 5.7

Não sei a fundo o que está acontecendo no workbench. Dei uma pesquisada rápida em alguns fóruns, alguns chutam que esse é um bug do workbench e as vezes é por conta dele gerar nomes maiores do que o permitido para os índices das fk.

Tudo bem, obrigado!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software