2014-11-25 45 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) 
);