2014-11-25 78 views
1

我有一個sql語句,我想添加一個唯一的約束,防止在表中輸入兩次重複的條目。任何人都可以幫助我與我的代碼,如果我寫的是正確的?SQL-使用唯一的約束來刪除表中輸入的重複條目

CREATE TABLE GroupMembership 
(GroupID INT REFERENCES dbo.Groups (GroupID), 
IndividualID INT NOT NULL REFERENCES dbo.Individuals (IndividualID) PRIMARY KEY(GroupID,  IndividualID), 
CONSTRAINT AK_IndividualID UNIQUE IndividualID); 

我試圖通過SQL服務器來測試它,但它給我一個錯誤。

+0

什麼是錯誤您收到? – 2014-11-25 07:08:24

+0

Msg 102,Level 15,State 1,Line 4 ')'附近的語法不正確。 – 2014-11-25 07:10:42

+0

問題在於你的語法,檢查Mureinik的答案它會工作 – 2014-11-25 07:16:48

回答

0

你缺少一兩件事情:

  1. IndividualId列規範後的逗號(作爲主鍵不涉及到它 - 這是一個多列約束)
  2. 支架的IndividualId各地列中的唯一約束規範。

所以:

CREATE TABLE GroupMembership 
(GroupID INT REFERENCES dbo.Groups (GroupID), 
IndividualID INT NOT NULL REFERENCES dbo.Individuals (IndividualID), 
PRIMARY KEY(GroupID,  IndividualID), 
CONSTRAINT AK_IndividualID UNIQUE (IndividualID) 
);