Ir para o conteúdo
Erros de SQL/Banco de DadosErro
23503

23503 — Violação de Chave Estrangeira

Um INSERT ou UPDATE viola uma restrição de chave estrangeira.

postgresql

O que causa este erro

A linha referenciada não existe na tabela pai, ou uma linha pai está sendo excluída enquanto linhas filhas ainda a referenciam.

Como corrigir

Garanta que o registo referenciado exista antes de inserir. Use ON DELETE CASCADE ou SET NULL. Insira registos pai antes dos registos filhos.

Exemplo

-- foreign_key_violation
INSERT INTO orders (user_id) VALUES (99999);
-- user_id 99999 does not exist in users table
Documentação Oficial

Códigos de Erro Relacionados