Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Erro 1452 ao inserir dados

Olá, estou tendo o seguinte erro ao tentar inserir os dados na tabela:

Erro:

14:26:17	INSERT INTO NOTAS (NUMERO, DATA_VENDA,   CPF, MATRICULA, IMPOSTO)  VALUES ('0100', '2023-11-09', '1471156710', '00235', 0.10)	Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`vendas_sucos`.`notas`, CONSTRAINT `FK_VENDEDORES` FOREIGN KEY (`MATRICULA`) REFERENCES `vendedores` (`MATRICULA`))	0.000 sec

Código:

INSERT INTO NOTAS (NUMERO, DATA_VENDA, 
 CPF, MATRICULA, IMPOSTO)
 VALUES ('0100', '2023-11-09', '1471156710', '00235', 0.10);
 INSERT INTO ITENS_NOTAS (NUMERO, CODIGO, QUANTIDADE, PRECO)
 VALUES ('0100', '1000889', 100, 10);
INSERT INTO ITENS_NOTAS (NUMERO, CODIGO, QUANTIDADE, PRECO)
 VALUES ('0100', '1002334', 100, 10);

Alguém sabe como resolver? Desde já agradeço :)

2 respostas
solução!

Olá, Gisele! Como você está?

O erro que você está enfrentando ao tentar inserir os dados na tabela está relacionado a uma restrição de chave estrangeira. O erro ocorre porque você está tentando inserir um valor na coluna "MATRICULA" da tabela "NOTAS" que não existe na tabela "VENDEDORES".

Para resolver esse problema, você precisa garantir que o valor que está sendo inserido na coluna "MATRICULA" da tabela "NOTAS" já exista na tabela "VENDEDORES". Você pode fazer isso executando uma consulta na tabela "VENDEDORES" para verificar se o valor '00235' está presente na coluna "MATRICULA", assim:

SELECT * FROM VENDEDORES WHERE MATRICULA = '00235';

Se a consulta retornar algum resultado, significa que o valor já existe na tabela "VENDEDORES" e você pode prosseguir com a inserção na tabela "NOTAS". Caso contrário, você precisará primeiro inserir o valor '00235' na tabela "VENDEDORES" antes de realizar a inserção na tabela "NOTAS".

Espero ter ajudado!

Grande abraço.

Boa tarde, Larissa!

Muito obrigada pela ajuda, resolveu meu problema :)

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