我有問題創建一個簡單的聯接表(關聯表等無論你的味道)。SQL Server 2008 - 創建一個聯接表
這些都是測試表,所以對他們來說沒有太大的幫助。
第一個表是
CREATE TABLE dbo.CareerField(
CareerFieldID int IDENTITY(1,1) NOT NULL,
CareerFieldName varchar(100) NOT NULL
)
第二個表是
CREATE TABLE dbo.Cluster(
ClusterID int IDENTITY(1,1) NOT NULL,
ClusterName varchar(100) NOT NULL
)
三表(連接表)來創建一個多一對多的關係是
CREATE TABLE dbo.CareerField_Cluster(
CareerFieldID int NOT NULL,
ClusterID int NOT NULL
)
我想使用以下內容在第三個表中設置外鍵
ALTER TABLE dbo.CareerField_Cluster
ADD CONSTRAINT FK_CareerField_Cluster_CareerFieldID
FOREIGN KEY(CareerFieldID) REFERENCES dbo.CareerField(CareerFieldID)
ALTER TABLE dbo.CareerField_Cluster
ADD CONSTRAINT FK_CareerField_Cluster_ClusterID
FOREIGN KEY(ClusterID) REFERENCES dbo.Cluster(ClusterID)
不過,我不斷收到
消息1776,級別16,狀態0,第1行的錯誤 有在引用表「dbo.CareerField」那場比賽沒有主或候選鍵外鍵'FK_CareerField_Cluster_CareerFieldID'中的引用列表。 消息1750,級別16,狀態0,行1 無法創建約束。查看以前的錯誤。
我嘗試設置這兩個字段作爲主鍵,但它不會讓我創建密鑰時選擇一個單獨的表 - 我不能選擇CareerFieldID參考CareerField表,然後羣ID引用集羣表。
我沒有MySQL的這個問題,我是SQL Server的新手。任何幫助深表感謝。
你需要指定主鍵爲引用的表。 –