Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não consigo fazer a relação entre as tabelas

Quando utilizo os comandos

ALTER TABLE VENDAS ADD CONSTRAINT CE_VENDAS_LIVROS
FOREIGN KEY (ID_LIVRO)
REFERENCES LIVROS (ID_LIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

ALTER TABLE VENDAS ADD CONSTRAINT CE_VENDAS_VENDEDORES
FOREIGN KEY (ID_VENDEDOR)
REFERENCES VENDEDORES (ID_VENDEDOR)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

O MySQL retorna "error code 1826: duplicate foreign key" sendo que o único comando que inseri foi

ALTER TABLE ESTOQUE ADD CONSTRAINT CE_ESTOQUE_LIVROS
FOREIGN KEY (ID_LIVRO)
REFERENCES LIVROS (ID_LIVRO)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
1 resposta
solução!

Olá Felipe, tudo bem?

Esse erro ocorre quando você tenta adicionar uma chave estrangeira que já existe na tabela. No seu caso, parece que você está tentando adicionar duas vezes a mesma chave estrangeira na tabela VENDAS.

Para resolver esse problema, você pode verificar se a chave estrangeira já existe antes de tentar adicioná-la. Você pode fazer isso executando o seguinte comando:

SHOW CREATE TABLE VENDAS;

Esse comando irá mostrar a definição da tabela VENDAS, incluindo as chaves estrangeiras existentes. Verifique se as chaves estrangeiras ID_LIVRO e ID_VENDEDOR já estão definidas na tabela. Se estiverem, a relação já está certinha :)

Espero que dê tudo certo. Fico à disposição.

Abraço!

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