2
respostas

Resolução, no entanto está tando erro 1822

ALTER TABLE tb_produtos ADD CONSTRAINT FK_itens_notas_fiscais
FOREIGN KEY tb_produtos(CODIGO) REFERENCES itens_notas_fiscais(CODIGO_DO_PRODUTO);

ALTER TABLE notas_fiscais ADD CONSTRAINT FK_itens_notas_fiscais 
FOREIGN KEY notas_fiscais (NUMERO) REFERENCES itens_notas_fiscais (NUMERO);

Erro está aparecendo nesse código:

ALTER TABLE tb_produtos ADD CONSTRAINT FK_itens_notas_fiscais
FOREIGN KEY tb_produtos(CODIGO) REFERENCES itens_notas_fiscais(CODIGO_DO_PRODUTO);
2 respostas

Boa tarde, Vitor!

A coluna "CODIGO_DO_PRODUTO" na tua tabela "itens_notas_fiscais" é uma chave primária? Se não for, o problema pode ser esse. Pelo que entendi até o momento, o link de uma chave estrangeira tem como requisito ela ser chave primária na tabela de referência.

Se não for isso, posta aqui os códigos de criação das duas tabelas para que possamos ver. Quem sabe vendo a declaração da pra ter uma ideia de onde está o problema.

Bom dia Vitor(s) !!! hahaha

Estava com esse mesmo problema, Error Code 1822 - Missing index, apontando pro nome da Constraint - FK, e consegui resolver fazendo como o Vitor falou, colocando link da chave estrangeira (constraint) com o mesmo nome da PK da tabela.

Minhas PK estavam com nomes diferentes, o que talvez tenha me confundido um pouco. Mas colocando a nomeação da constraint da FK com o mesmo nome da PK da tabela fez rodar sem erro.

Código usado para realizar as ligações das tabelas pelas chaves estrangeiras