2014-05-08 82 views
0

我想向表中添加一個外鍵。我創建了兩個表格。SQL Management Studio 2012外鍵是混亂

CREATE TABLE madeupbusiness.staff 
(
staffnum int NOT NULL, 
forename varchar(30) NOT NULL, 
surname varchar(30) NOT NULL, 
meeting int NOT NULL, 
PRIMARY KEY (staffnum), 
) 
GO 

會議應使用PK從會議桌創建FK:

CREATE TABLE madeupbusiness.meeting 
(
meetingnum int NOT NULL, 
room varchar(30) NOT NULL, 
PRIMARY KEY (meetingnum), 
) 
GO 

要創建的外鍵我運行此查詢

ALTER TABLE madeupbusiness.staff 
WITH CHECK 
ADD CONSTRAINT FK_staff_meetingnum FOREIGN KEY (meetingnum) 
REFERENCES madeupbusiness.meeting(meetingnum) 
ON DELETE CASCADE 
ON UPDATE CASCADE 
; 
GO 

查詢運行,但是當我創建了一個數據庫圖,其中有一個方形循環來自staffnum鍵的員工表返回到它。對不起,但我真的不知道如何描述它。兩張表之間沒有關係。我究竟做錯了什麼?

我試圖從設計視圖添加關係,但外鍵表變灰。

+0

有一個在madeupbusiness.staff表的ALTER TABLE應該BARF沒有meetingnum列。這是問題或代碼中的錯字? – Serpiton

回答

0

如果你可以重建表做到這一點:

CREATE TABLE madeupbusiness.meeting 
    (meetingnum int NOT NULL PRIMARY KEY REFERENCES madeupbusiness.meeting(YourColumnYouWantItShouldBeReferenced), 
    room varchar(30) NOT NULL); 
    GO 
+0

我是SQL服務器的新手。我沒有意識到創建表時必須刷新數據庫。這就是爲什麼它沒有從其他牌桌拿起PK。對不起浪費人們的時間。 – raybarone

+0

您只需將REFERENCES引用到REFERENCED TABLE中的有效列 –

相關問題