Problema de PK de SQL Server

Esta es una captura de pantalla de mi base de datos cuando ejecuto esta consulta

INSERT INTO Products(CategoryID, TypeID, BarCode, ArtNumber, ProductName, Price, SelfPrice, PriceWithOutAWD, UnitsInStock, Comment)
        VALUES('9', '1', '23', '23', 'kut', '20.29', '18.29', '19.10', '23', '19')

muestra tal error

Msg 547, nivel 16, estado 0, línea 1 La instrucción INSERT entró en conflicto con la restricción FOREIGN KEY "FK_Products_Type1". El conflicto ocurrió en la base de datos "AcidDB", tabla "dbo.Type", columna 'ID'. La instrucción se ha terminado.

texto alternativo

preguntado el 09 de enero de 11 a las 09:01

¿cuál es la pregunta? El mensaje de error parece bastante sencillo. -

4 Respuestas

Está intentando insertar un registro en Productos con un TypeID que no existe en la tabla Tipo.

No hay registro en la tabla Tipo con el ID "1".

Respondido el 09 de enero de 11 a las 13:01

Sin ver la definición de FK, esta es una suposición fundamentada:

Su tabla de tipos no tiene una entrada con ID de 1.

Entonces, al intentar insertar un 1 en el TypeId columna, una entrada coincidente en el Type no se puede encontrar la tabla y falla la restricción.

No relacionado: ¿Por qué pasa una cadena ('1') a una INTEGER ¿parámetro?

Respondido el 09 de enero de 11 a las 12:01

está insertando el typeId 1 en su tabla, pero parece que no hay typeId 1 definido en su type-table.

por cierto: ¡no necesitas poner los valores int en ''!

Respondido el 09 de enero de 11 a las 12:01

Realmente no haces una pregunta, pero supongo que no entiendes el mensaje de error ...
Es muy simple: su campo Products.TypeId tiene una restricción FK que se vincula a la tabla Type.ID.
Como no hay type.id de valor '1', su inserción desencadena un error.
Tal vez, como señaló karlis, ¡tienes un tipo 1 (sin comillas)!

Respondido el 09 de enero de 11 a las 13:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.