假设我在SQL SERVER 2005数据库中有一个如下所示的表:
UserId ProductId ProductName
1 2 ABC
1 2 ABC
现在我想应用检查,以便无法再为同一用户输入相同的productId。我也希望sql server强制执行此检查。
答案 0 :(得分:2)
您想使用UNIQUE CONSTRAINT
答案 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)
当然,如果您只是举例说明并且没有任何重复项,请尝试上面的命令。