He tenido este problema durante un par de horas. En SQL Server, me encontré con esta consulta :

INSERT INTO USERS_AVATAR(userId, avatId) VALUES ('1', '213');
INSERT INTO USERS_AVATAR(userId, avatId) VALUES ('2', '312');

pero el mensaje se muestra diciendo :

Msg 547, Nivel 16, Estado 0, Línea 1

La instrucción INSERT en conflicto con la restricción FOREIGN KEY «FKUSERS_AVAT731248». El conflicto se produjo en la base de datos «gk314», tabla «gk314.Los USUARIOS», la columna ‘userId’.

Msg 547, Nivel 16, Estado 0, Línea 2

La instrucción INSERT en conflicto con la restricción FOREIGN KEY «FKUSERS_AVAT731248». El conflicto se produjo en la base de datos «gk314», tabla «gk314.Los USUARIOS», la columna ‘userId’.

Ayuda por favor!

  • Relacionado, pero: no use los literales de cadena de números '1' es una cadena. 1 es un número.
InformationsquelleAutor problems | 2015-03-24

2 Comentarios

  1. 11

    Antes de insertar userIds 1 y 2 en USERS_AVATAR, primero debe insertar en la tabla USERS. Que es lo que la restricción FOREIGN KEY se requieren.

    • esta es mi consulta para crear la gk314.tabla de usuarios: «INSERT INTO USUARIOS(id de usuario, email, contraseña, estado) VALUES (‘gk314’, ‘[email protected]’,’ gk314′, ‘fuerte’);»
  2. 1

    Las restricciones de clave externa de SQL manera de decir «esta tabla se espera que los datos que existen en otras tablas». Se permite hacer referencia a otras tablas sin tener que existen dos o para mantenerse en sincronía.

    En este caso, hay una tabla para los datos de usuario (USERS) y una mesa para el avatar de datos (AVATARS), y el USERS_AVATAR tabla de enlaces a los dos juntos. Usted tendrá que añadir un usuario a la tabla de usuarios, a continuación, un avatar el avatar de la tabla, a continuación, puede vincular los dos juntos. Se verá algo como esto:

    INSERT INTO USERS (userId, email, password, status) VALUES (1, '[email protected]',' gk314', 'strong')
    INSERT INTO AVATARS (avatId, name, ...) VALUES (1, 'Avatar1', ...)
    INSERT INTO USERS_AVATAR (userId, avatId) VALUES (1, 1)

    Original Respuesta:

    Esto significa que hay una mesa, gk314.USERS, que no tiene un userId que coincide con el userId usted está tratando de agregar a USERS_AVATAR. Compruebe la USERS tabla y agregar usuarios con userId 1 y 2 y, a continuación, usted debería ser capaz de añadir a la USERS_AVATAR tabla.

    • esta es mi consulta para crear la gk314.tabla de usuarios: «INSERT INTO USUARIOS(id de usuario, email, contraseña, estado) VALUES (‘gk314’, ‘[email protected]’,’ gk314′, ‘fuerte’);»
    • LO he PROBADO PERO DICE «mensaje 245, Nivel 16, Estado 1, Línea 1 error de Conversión al convertir el valor varchar ‘gk314’ al tipo de datos int.»
    • A continuación, usted no puede utilizar gk314 como el userId. Cambiar su INSERT INTO USERS a ... VALUES(1, '[email protected], ...)
    • hice lo que dijo u pero dice» Msg 547, Nivel 16, Estado 0, de la Línea 1 de La instrucción INSERT en conflicto con la restricción FOREIGN KEY «FKUSERS_AVAT239440». El conflicto se produjo en la base de datos «gk314», tabla «gk314.AVATARES», la columna ‘avatId’. Ha finalizado la instrucción.»
    • Suena como que es el mismo problema, sólo por el AVATARS tabla. Asegúrese de que se ha añadido un avatar a la tabla con el ID apropiada antes de intentar escribir en el USERS_AVATAR tabla.
    • añadir un avatar a la tabla de usuarios?
    • Añadir un avatar a la AVATARS tabla.
    • MI avatar tabla tiene » avatid, nombre, …»
    • MI AVATAR TABLA TIENE «avatid» pero todavía no puedo encontrar el problema. gracias por la ayuda hasta ahora..
    • Actualizado mi respuesta.

Dejar respuesta

Please enter your comment!
Please enter your name here