Banco de compras supermercado

estou com um banco de dados no php onde faço a inserção de produtos, esqueci de fazer o lançamento da quantidade de produtos, tipo “aveia” era dois produtos e lancei somente um e quando fui lançar o outro deu esse erro … qual a melhor solução.

INSERT INTO compra (Int_compra, id, nome, q_produto, vl_produto, data_compra) VALUES (NULL, ‘3’, ‘Aveia’, ‘2’, ‘1.79’, ‘2021-02-02’)


**Mensagens do MySQL :**  [![Documentação](http://localhost/phpmyadmin/themes/dot.gif "Documentação")](http://localhost/phpmyadmin/url.php?url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Fserver-error-reference.html)

`#1062 - Entrada '3-Aveia' duplicada para a chave 'compra'`

Tens uma constraint compra na tua tabela onde dizes que só podes ter cada produto uma vez…

Você não pode inserir registros duplicados de acordo com a definição da PK da sua tabela compra, se colocou a quantidade incorreta você tem duas alternativas!

1º Remover o registro em questão e fazer o Insert com os valores corretos.
2º Fazer um update no registro atualizando o campo de acordo com o valor desejado. --Recomendo

teria uma outra forma de fazer essa inserção, pois são muitos produtos e nem sempre eles vem em ordem.Normalmente 120 a 200 itens em um cupom fiscal , e todo mês eu faço o lançamento sempre dos mesmos produtos…

Uma alternativa é você criar um tipo de planilha, txt ou csv com os dados todos juntos referente ao cupom fiscal o qual deseja inserir no banco de dados, com estes dados listados daria para criar um script para agrupar estes dados e executar os inserts para você, dado que isso se repete mensalmente.

Caso contrário é seguir esse processo manual, um por um.

1 curtida