2017-04-11 38 views
1

我一直試圖用兩個以前創建的表(名稱 - 「EndUser」,「Item」)的外鍵創建表(名稱 - 「UserItem」)但我不斷收到錯誤使用T-SQL在SQL服務器中添加外鍵關係失敗

消息102,級別15,狀態1,行9
附近有語法錯誤 'GO'。

用於創建表的代碼語法是

CREATE TABLE UserItem (
userID int NOT NULL,  
itemName varchar(25) NOT NULL, 
CONSTRAINT FK_uid FOREIGN KEY (userID) REFERENCES EndUser (userID), 
CONSTRAINT FK_iname FOREIGN KEY (itemName) REFERENCES Item (itemName) 
ON DELETE CASCADE  
ON UPDATE CASCADE 
)GO 

兩個先前創建表的語法如下所示,使用

CREATE TABLE EndUser( 
userID int PRIMARY KEY NOT NULL,  
userName varchar(25) NOT NULL,  
userPW varchar(8) NOT NULL  
)GO 


CREATE TABLE Item( 
itemName varchar(25) PRIMARY KEY NOT NULL,  
tag1 varchar(20) NOT NULL,  
tag2 varchar(20) NOT NULL,  
tag3 varchar(20) NOT NULL,  
)GO 

林的Visual Studio 2015年,如果在任何幫助辦法。

+1

'Go'應該是對自己的一個單獨的行, – DhruvJoshi

+0

嘗試把GO下一行。但是,你是否確實想要級聯刪除?你真的想過嗎?你知道後果是什麼嗎? – GuidoG

+0

謝謝把GO放在另一行上的工作對T-SQL和 @GuidoG im有新的工作遵循文檔和級聯中的示例刪除和級聯更新螞蟻要求我盲目地遵循文檔中的示例代碼。再次非常感謝你的幫助:) – PhatMan

回答

0

只需通過去除GO將工作

+0

謝謝你也可以通過刪除「GO」聲明。 在不同的行上添加「GO」語句也可以像@DhruvJoshi提到的那樣工作,所以兩者都是我的問題的解決方案。 對於像我這樣同樣迷失的人,如果沒有正確閱讀文檔和教程就直接跳入編碼請參考這些鏈接[關於go](https://docs.microsoft.com/zh-cn/sql/t-sql/language-elements/sql-server-utilities-statements-go)和 [快速教程](https://www.tutorialspoint.com/t_sql/index.htm)快速獲取有關t-sql的概述。它節省了很多時間:) – PhatMan