DBAtlas · Atlas de operações de banco de dados

1452: Cannot add or update a child row: a foreign key constraint fails

MySQL

O que significa?

Você está inserindo ou atualizando uma linha filha, mas o valor da chave pai para o qual ela aponta não existe na tabela referenciada; a constraint de foreign key a rejeita.

Por que acontece?

Um INSERT/UPDATE referenciando uma chave pai inexistente, dados carregados na ordem errada (primeiro o filho) ou uma linha pai excluída.

Como resolver

Insira primeiro a linha pai, depois a linha filha. Verifique se o valor referenciado existe: SELECT * FROM parent_table WHERE key_column = value. Preserve a ordem pai-filho em cargas em massa. Use SET FOREIGN_KEY_CHECKS=0 apenas em operações de manutenção controladas e volte para 1 ao terminar.

Abrir no DBAtlas →

Mais entradas deste banco