我有两张桌子
Table1(
FileID,
BundledFileID,
Domain)
和
Table2(
FileID,
FileType,
FileName)
在表2中,FileID
和FileType
是复合主键。我想创建从Table1.FileID
到Table2
的外键关系。
是否可以这样做?
答案 0 :(得分:70)
由于Table2具有复合主键(FileID, FileType)
,因此对它的任何引用都必须包含两列。
ALTER TABLE dbo.Table1
ADD CONSTRAINT FK_Table1_Table2
FOREIGN KEY(FileID, FileType) REFERENCES Table2(FileID, FileType)
除非你在Table2.FileID
字段上有一个唯一的约束/索引(但如果是这样的话:为什么这不是PK?),你不能只在目标上的PK部分创建FK关系表 - 就是做不到。
答案 1 :(得分:4)
ALTER TABLE Table1 ADD FileType as 'ABC'
然后您可以在外键中使用。