Przejdź do treści
Błędy SQL/baz danychBłąd
23503

23503 — Naruszenie klucza obcego

Operacja INSERT lub UPDATE narusza ograniczenie klucza obcego.

postgresql

Co powoduje ten błąd

Odwoływany wiersz nie istnieje w tabeli nadrzędnej lub wiersz nadrzędny jest usuwany, gdy wiersze podrzędne nadal się do niego odwołują.

Jak to naprawić

Upewnij się, że odwoływany rekord istnieje przed wstawianiem. Użyj ON DELETE CASCADE lub SET NULL. Wstawiaj rekordy nadrzędne przed podrzędnymi.

Przykład

-- foreign_key_violation
INSERT INTO orders (user_id) VALUES (99999);
-- user_id 99999 does not exist in users table
Oficjalna dokumentacja

Powiązane kody błędów