关于sql:MySQL:多个字段的唯一约束

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添加变量条目的唯一键。

此外,您应该始终对表名使用单数词(用户而不是用户)。不要在表名中使用大写字符,因为这会在不同的操作系统上造成噩梦。