需要Mysql帮助

时间:2013-07-24 04:46:52

标签: mysql

我有一个名为group Info的表。它有三个字段,即id,user_id和group_id。 我的问题是如何将唯一用户分配给组i-e同一用户可能不会在同一组中重复。 组Info的表结构如下;

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;

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

2 个答案:

答案 0 :(得分:0)

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

另一方面,如果用户可以属于多个组,那么您当前的设计可能是合适的,但您不应该user_id唯一(尽管您可能想要制作一个唯一的< user_id group_id组合上的strong>复合键。

答案 1 :(得分:0)

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

使用user_id更改col1,使用group_id更改col2,使用表名更改tbl_name。