none
NO PUEDO CREAR UNA FOREING KEY EN SQL RRS feed

  • Pregunta

  • Buen día.

    Solicito su ayuda...estoy creando una tabla en SQL Server 2008 pero no puedo crear la Foreing Key me arroja el siguiente error:

    Mens. 1776, Nivel 16, Estado 0, Línea 1There are no primary or candidate keys in the referenced table 'FrCs' that match the referencing column list in the foreign key 'FKNo_SOCIO'.

    Mens. 1750, Nivel 16, Estado 0, Línea 1

    Could not create constraint. See previous errors.

    el código de mi tabla es el siguiente:

    CREATE TABLE UpDg 
    (
    UpDg_Id           INT NOT NULL PRIMARY KEY,
    FrCs_Name         VARCHAR (10) NOT NULL   ,
    FrCs_FCTy         VARCHAR (10) NOT NULL   ,
    FrCs_Actv         SMALLINT     NOT NULL   ,
    FrCs_Add_Dte      DATETIME     NOT NULL   ,
    Clasif_Id         INT          NOT NULL ,
    CONSTRAINT  FK_No_SOCIO FOREIGN KEY ([FrCs_Name], [FrCs_FCTy], [FrCs_Actv], [FrCs_Add_Dte]) REFERENCES [FrCs] ([FrCs_Name], [FrCs_FCTy], [FrCs_Actv], [FrCs_Add_Dte]),
    UpDg_Add_Usr        VARCHAR (255)           ,
    UpDg_Fecha_Status   DATETIME                ,
    CONSTRAINT  FK_CLASIFICACION FOREIGN KEY ([Clasif_Id]) REFERENCES [Clasif] ([Clasif_Id]),
    UpDg_Pts            FLOAT         
    )

    intente creando solo la tabla y despues con Alter Table añadir las FK pero me sigue mandando el mismo error y solo es con la FK del campo FrCs_Name. 

    Desde ya muchas gracias.

    miércoles, 13 de diciembre de 2017 17:32

Todas las respuestas

  • Si las 4 columnas mencionadas conforman la clave primaria en la tabla  [FrCs] 
    miércoles, 13 de diciembre de 2017 18:44
  • Buenas,

    Para crear llaves foráneas FK, debes seleccionar preferentemente a claves primarias. 
    Debes considerar tambien sí una de las tablas tiene una llave compuesta. Tienes que hacer la llave foránea sea igualdad a 2 campos en vez de 1 y que sean del mismo tipo de columna en ambas tablas (money, int, etc)

    Espero que te sirva.

    Saludos.


    • Editado JCBP viernes, 15 de diciembre de 2017 22:24
    jueves, 14 de diciembre de 2017 17:18