我想創建一個由int列和datetime列組成的外鍵約束(兩者都不爲空)。SQL Server外鍵問題
我收到錯誤 「引用表X中沒有與外鍵FK中的引用列表匹配的主鍵或候選鍵」。
通常,此錯誤表示目標表中的列不是唯一的。 但它是主鍵,所以它絕對是獨一無二的。
外鍵正在引用的表跨多個文件組進行分區 - 而在其上創建外鍵的表駐留在主文件組上。這可能是問題嗎? 日期時間可以成爲外鍵的一部分嗎?
表X:
LineId (int not null) (PK)
CreatedAt (datetime not null) (PK)
Message (nvarchar(max))
userId (int not null)
表Y:
LineId (int not null) (PK) (FK)
SId (int not null) (PK)
LineCreatedAt (datetime not null) (FK)
CreatedAt (datetime not null)
SQL命令:
ALTER TABLE Y
ADD CONSTRAINT [FK1]
FOREIGN KEY(LineId,LineCreatedAt)
REFERENCES X(LineId, CreatedAt)
理解任何想法。
謝謝
是否有可能向我們展示您的表格架構? – Graviton 2009-12-16 11:11:13
我想知道是否因爲表X的索引在分區方案上,而表Y不是? – Chris 2009-12-16 12:23:24