2
respostas

Erro ao deletar

Quando tento deletar a linha 8 aparece o erro:

18:58:30 DELETE FROM LIVROS WHERE ID_LIVRO = 8 Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (clube_do_livro.estoque, CONSTRAINT CE_ESTOQUE_LIVROS FOREIGN KEY (ID_LIVRO) REFERENCES livros (ID_LIVRO)) 0.000 sec

2 respostas

Jayana,

Você não pode deletar um registro que tenha relacionamento com outra tabela do banco de dados. Em outras palavras, um outro registro em uma outra tabela DEPENDE deste registro.

Existem algumas maneiras de você contornar este problema.

    • Você pode deletar primeiro o registro da OUTRA tabela e depois deletar o seu registro;
    • Você pode mandar o registro que você quer deletar apontar para nulo na chave estrangeira e depois deletar;
    • Você pode "forçar" a deleção através de comando, mas essa é PIOR situação, pois vai gerar um "REGISTRO ÓRFÃO" e isso é MUITO ruim.

Por favor, leia também:

==========================================================

Simple Ways to Fix Error Code 1451 MySQL

By Edwin Stark - February 28, 2021

Código de erro 1451 MySQL é um problema simples de corrigir. Não requer profundo conhecimento técnico para resolver esse problema. No entanto, se você não souber os motivos e alguns conceitos-chave, não poderá corrigir essa mensagem de erro. Então, vamos aprender alguns conceitos básicos do MySQL.

https://www.easytechtools.com/fix-error-code-1451-mysql/#:~:text=Error%20code%201451%20MySQL%20also%20arises%20when%20the,of%20the%20foreign%20key%20must%20also%20be%20utf-8.

==========================================================

Techniques to Fix Error Code 1451 MySQL

Manoj Shukla - May 3, 2021

https://www.convertertools.org/blog/fix-error-code-1451-mysql/

==========================================================

[]'s,

Fabio I.

Execute o comando

SET FOREIGN_KEY_CHECKS = 0;

antes de deletar, como ela explicou no video do INSERT