Saltar al contenido

La instrucción INSERT entró en conflicto con la restricción FOREIGN KEY – SQL Server

Solución:

En tu mesa dbo.Sup_Item_Cat, tiene una referencia de clave externa a otra tabla. La forma en que funciona un FK es que no puede tener un valor en esa columna que no esté también en la columna de clave principal de la tabla a la que se hace referencia.

Si tiene SQL Server Management Studio, ábralo y sp_helpdbo.Sup_Item_Cat‘. Vea en qué columna está FK y a qué columna de la tabla hace referencia. Estás insertando datos incorrectos.

¡Avísame si necesitas que te expliquen algo mejor!

Yo mismo tuve este problema, con respecto al mensaje de error que se recibe al intentar completar un campo de clave externa. Terminé en esta página con la esperanza de encontrar la respuesta. La respuesta marcada en esta página es de hecho la correcta, desafortunadamente creo que la respuesta es un poco incompleta para las personas que no están tan familiarizadas con SQL. Soy bastante apto para escribir código, pero las consultas SQL son nuevas para mí, así como para crear tablas de bases de datos.

A pesar de que la respuesta marcada es correcta:

Mike M escribió-

“La forma en que funciona un FK es que no puede tener un valor en esa columna que no esté también en la columna de clave principal de la tabla de referencia”.

Lo que falta en esta respuesta es simplemente;

Primero debe crear la tabla que contiene la clave principal.

Otra forma de decirlo es;

Debe insertar datos en la tabla principal, que contiene la clave principal, antes de intentar insertar datos en la tabla secundaria que contiene la clave externa.

En resumen, muchos de los tutoriales parecen estar lidiando con este hecho, de modo que si lo intentara por su cuenta y no se diera cuenta de que había un orden de operaciones, obtendría este error. Naturalmente, después de agregar los datos de la clave principal, los datos de su clave externa en la tabla secundaria deben ajustarse al campo de clave principal en la tabla principal; de lo contrario, seguirá recibiendo este error.

Si alguien ha leído hasta aquí. Espero que esto haya ayudado a que la respuesta marcada sea más clara. Sé que algunos de ustedes pueden sentir que este tipo de cosas es bastante sencillo y que abrir un libro habría respondido a esta pregunta antes de que se publicara, pero la verdad es que no todos aprenden de la misma manera.

Está intentando insertar un registro con un valor en la columna de clave externa que no existe en la tabla externa.

Por ejemplo: si tiene tablas Libros y Autores donde Libros tiene una restricción de clave externa en la tabla Autores e intenta insertar un registro de libro para el que no hay ningún registro de autor.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *