Saltar al contenido
Errores de SQL/Base de DatosError
23503

23503 — Violación de clave foránea

Un INSERT o UPDATE viola una restricción de clave foránea.

postgresql

Qué causa este error

La fila referenciada no existe en la tabla padre, o se está eliminando una fila padre mientras filas hijas aún la referencian.

Cómo solucionarlo

Asegúrate de que el registro referenciado exista antes de insertar. Usa ON DELETE CASCADE o SET NULL. Inserta los registros padre antes que los hijos.

Ejemplo

-- foreign_key_violation
INSERT INTO orders (user_id) VALUES (99999);
-- user_id 99999 does not exist in users table
Documentación Oficial

Códigos de Error Relacionados