我有一个表:users_group
id | group_id | user_ids
---|----------|---------
1 | 1 | 3
2 | 1 | 2
3 | 3 | 2
4 | 2 | 3
5 | 2 | 4
6 | 2 | 2
条件是user_ids只能插入一次。但在上面的情况下,它被插入多个group_id。
我正在使用此查询在foreach循环中插入users_id字段: INSERT INTO users_group(group_id,user_ids)VALUES(2,3)
如何防止插入重复的user_ids
有更好的查询吗?
答案 0 :(得分:4)
是的,有更好的方法可以解决此问题,但解决方案并不意味着查询。
您应该创建一个名为user_id
的新列,而不是user_id
列,并添加如下数据:
id | group_id | user_id
1 | 1 | 3
2 | 1 | 4
3 | 2 | 3
4 | 2 | 4
5 | 2 | 2
6 | 3 | 2
7 | 3 | 3
8 | 3 | 4
这称为Many to Many
关系,使一切变得更容易。之后你只需要加入表格;
答案 1 :(得分:0)
我认为您希望首先在列上创建唯一索引,而该列只包含唯一值。在这种情况下,它将是user_ids
列。