如何防止SQL Server中的数据重复?

时间:2011-11-19 04:42:15

标签: sql sql-server

假设我在SQL SERVER 2005数据库中有一个如下所示的表:

UserId     ProductId        ProductName
 1         2                ABC
 1         2                ABC

现在我想应用检查,以便无法再为同一用户输入相同的productId。我也希望sql server强制执行此检查。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我认为声明主键(UserId,ProductId)而不是使用check语句可能更自然

http://msdn.microsoft.com/en-us/library/aa933092(v=sql.80).aspx

答案 2 :(得分:0)

你可以尝试一下吗?:

在创建新密钥之前,请清理重复项:

见这里:http://support.microsoft.com/kb/139444

完成后,您可以执行此操作:

ALTER TABLE <tablename> ADD CONSTRAINT pk_UserIdProductId PRIMARY KEY (UserId, ProductId)

当然,如果您只是举例说明并且没有任何重复项,请尝试上面的命令。