SQL-使用唯一约束来删除在表中输入的重复条目

时间:2014-11-25 07:02:19

标签: sql sql-server sql-server-2008

我有一个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服务器测试它,但它给了我一个错误。

1 个答案:

答案 0 :(得分:0)

你遗漏了几件事:

  1. IndividualId列规范之后的逗号(因为主键与它无关 - 它是多列约束)
  2. 唯一约束规范中IndividualId列周围的括号。
  3. 所以:

    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)
    );