1

我遇到了 MySQL 唯一索引的问题。我想做的是有这样的事情:

user_id group_id
1 1
1 2
1 3
2 1
2 4

可以有相同用户 ID 的多个实例,以及组 ID 的多个实例,但允许两者的唯一组合。我将它与ON DUPLICATE KEY UPDATEMySQL 查询一起使用,我想知道我需要对表上的索引做什么。目前,我有这个:

主要标识
唯一的用户 ID,组 ID

但是...a)这足够了吗,b)我做对了得到我正在寻找的东西吗?

谢谢你的帮助

詹姆士

4

1 回答 1

3

你几乎明白了。如果你使用 MyISAM 引擎,你可以这样做:

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

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

于 2011-05-12T21:02:50.840 回答