MySQL:多个字段的唯一约束

时间:2010-03-23 22:17:42

标签: sql mysql unique

我有两张桌子 - >变量(id,name)和Variable_Entries(id,var_id,value)。

我希望每个变量都有一组唯一的条目。如果我使值条目唯一,那么另一个变量将不能具有相同的值,这是不正确的。

有没有办法让值列对于相同的var_id来说是唯一的?

3 个答案:

答案 0 :(得分:10)

是:

alter table Variable_Entries add unique (var_id, value);

现在,var_id和value之间存在唯一约束。换句话说,var_id和value的出现不会出现多次。

答案 1 :(得分:6)

是的,您可以创建一个复合unique key

ALTER TABLE variable_entries ADD UNIQUE (var_id, value);

答案 2 :(得分:0)

为组合字段var_id / value添加Variable_Entries的唯一键。

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