Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 多个唯一的列,但只有唯一的组合_Mysql_Unique Index - Fatal编程技术网

Mysql 多个唯一的列,但只有唯一的组合

Mysql 多个唯一的列,但只有唯一的组合,mysql,unique-index,Mysql,Unique Index,我遇到了MySQL唯一标识的问题。我想做的是有这样的东西: user_id group_id 1 1 1 2 1 3 2 1 2 4 但是。。。a) 这足够了吗?b)为了得到我想要的东西,我做得对吗 谢谢你的帮助 詹姆斯,你差点就成功了。如果使用MyISAM引擎,则可以执行以下操作: CREATE TABLE your_table( id int unsigned not null auto_increment, group

我遇到了MySQL唯一标识的问题。我想做的是有这样的东西:

user_id group_id 1 1 1 2 1 3 2 1 2 4 但是。。。a) 这足够了吗?b)为了得到我想要的东西,我做得对吗

谢谢你的帮助


詹姆斯,你差点就成功了。如果使用MyISAM引擎,则可以执行以下操作:

CREATE TABLE your_table(
id int unsigned not null auto_increment,
group_id int unsigned,
primary key(group_id, id)
) ENGINE = MyISAM;

尝试并查看其行为,它将按照您在示例中指定的方式递增id,并且您也将具有唯一约束。

示例表中没有
id
字段?否则,第二个
UNIQUE
键将完全满足您的要求。多个用户ID,多个组ID,但只允许表中任何特定的用户ID+组ID中的一个。是的,有一个ID列。为了简洁起见,我把它省略了:-)太简单了!非常感谢。我本应该尝试尝试尝试尝试和错误,而不是张贴,但嘿,它的工作+对你来说,这是一个正确的答案。嘿,事情是——关于这一点的信息不是很容易“googleable”,而且只有MyISAM引擎支持它(InnoDB不会这样做,例如,不管你如何指定主键,你都会得到顺序键)。我很高兴能帮上忙,干杯:)
CREATE TABLE your_table(
id int unsigned not null auto_increment,
group_id int unsigned,
primary key(group_id, id)
) ENGINE = MyISAM;