Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Relazione di chiave esterna con chiavi primarie composite in SQL Server 2005

Poiché Table2 ha una chiave primaria composita (FileID, FileType) , quindi qualsiasi riferimento ad esso deve includere anche entrambe le colonne .

ALTER TABLE dbo.Table1
  ADD CONSTRAINT FK_Table1_Table2
  FOREIGN KEY(FileID, FileType) REFERENCES Table2(FileID, FileType)

A meno che tu non abbia un vincolo/indice univoco su Table2.FileID campo (ma in tal caso:perché non è questo il PK?), non puoi creare una relazione FK solo con parti del PK sulla tabella di destinazione, semplicemente non puoi farlo.