MySQL: Unique constraint on multiple fields
本问题已经有最佳答案,请猛点这里访问。
我有两个表——>变量(id,name)和变量_项(id,var_id,value)。
我希望每个变量都有一组唯一的条目。如果我使值条目唯一,那么另一个变量将不能具有相同的不正确值。
对于相同的var_id,是否有方法使值列唯一?
对:
1 | ALTER TABLE Variable_Entries ADD UNIQUE (var_id, VALUE); |
现在,在var_id和value之间有一个唯一的约束。换句话说,var_id和value的出现不能超过一次。
是的,您可以创建一个复合的唯一键:
1 | ALTER TABLE Variable_Entries ADD UNIQUE (var_id, VALUE); |
为组合字段var_id/value添加变量条目的唯一键。
此外,您应该始终对表名使用单数词(用户而不是用户)。不要在表名中使用大写字符,因为这会在不同的操作系统上造成噩梦。