MySQL:多个字段的唯一约束

Cyp*_*her 10 mysql sql unique

我有两个表 - >变量(id,name)和Variable_Entries(id,var_id,value).

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

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

Ros*_*der 11

是:

alter table Variable_Entries add unique (var_id, value);
Run Code Online (Sandbox Code Playgroud)

现在,您在var_id和value之间有一个唯一约束.换句话说,var_id和value的出现不会出现多次.

  • 你可能不想知道,但为了别人的缘故,`create table tbl_table(id integer not null auto_increment,fname varchar(255),lname varchar(255),CONSTRAINT tbl_table PRIMARY KEY(id),unique(fname,lname) ))` (2认同)

Dan*_*llo 6

是的,您可以创建复合唯一键:

ALTER TABLE variable_entries ADD UNIQUE (var_id, value);
Run Code Online (Sandbox Code Playgroud)