1

我有一个名为组信息的表。它具有三个字段,即 id、user_id 和 group_id。我的问题是如何将唯一用户分配给一个组,即同一用户不能在同一组中重复。组信息的表结构如下;

id         int(11)  Auto increment,Primary key NOT NULL,

user_id    int(11)  Not Null,

group_id   int(11)  Not Null

我已经使 user_id 唯一。但是有两个组(2 group_id(1 和 2))。为 groupB 选择用户会给出错误重复条目。user_id = 1,2,3,4,5,6,7,8; group_id= 1,2;

请帮我解决这个问题。我的英语不好,所以为我的语言道歉。

4

2 回答 2

0
ALTER TABLE `tbl_name` ADD UNIQUE (
`col1` ,
`col2`
);

将 col1 更改为 user_id,将 col2 更改为 group_id,将 tbl_name 更改为您的表名。

于 2013-07-24T04:57:41.867 回答
0

如果user_id是唯一的,那么您可能不应该创建连接表:只需将组指针添加到用户表。

另一方面,如果一个用户可以属于多个组,那么您当前的设计可能是合适的,但您不应该使user_id唯一的(尽管您可能希望在组合上创建唯一的复合键)。user_id group_id

于 2013-07-24T04:52:10.117 回答