2017-04-11 2 views
1

以前に作成した2つのテーブル(名前 - 「EndUser」、「Item」)の外部キーを使用してテーブル(名前 - "UserItem"しかし、私はメッセージ102、レベル15、状態1、行9
付近に正しくない構文 'GO' のエラーにT-SQLを使用したSQLサーバーでの外部キー関係の追加に失敗する

を得続けます。

表を作成するためのコードの構文は、それがいずれかの場合に役立ちます

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を使用して

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 

次のようにしている2つの以前に作成された表の構文であり、方法。

+1

'Go'は、独自の個別の行にする必要があり、 – DhruvJoshi

+0

次の行にGOを入れてみてください。しかし、また、カスケード削除を本当に確実にしていますか?あなたは本当にそれについて考えましたか?結果が何であるか知っていますか? – GuidoG

+0

ありがとうございました。T-SQLの新機能です。 ドキュメントとカスケードの例に従って@GuidoG imを削除してカスケードしてください。アップデートが必要です。ドキュメントのサンプルコードに盲目的に従っていました。もう一度たくさんの助けてくれてありがとう:) – PhatMan

答えて

0

ちょうどそれが動作しますGO除去することにより、

+0

"GO"ステートメントを削除してもらってくれてありがとう。 別の行に "GO"ステートメントを追加すると、@DhruvJoshiが記述されているようにも動作するので、両方とも私の質問の解決方法です。 私のように同じように紛失し、ドキュメントとチュートリアルを正しく読まずにコードに直接ジャンプした人は、これらのリンク[go about](https://docs.microsoft.com/en-us/sql/t-sql)を参照してください。/language-elements/sql-server-utilities-statements-go)と [クイックチュートリアル](https://www.tutorialspot.com/t_sql/index.htm)を参照して、t-SQLの概要を素早く確認してください。それは多くの時間を節約:) – PhatMan

関連する問題