在MySQL中如何将用户分配到组?

在MySQL中如何将用户分配到组?,mysql,node.js,Mysql,Node.js,我在MySQL数据库中有两个表,一个名为“users”,另一个名为“groups” CREATE TABLE `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `full_name` varchar(50) NOT NULL DEFAULT '', `position` varchar(50) NOT NULL DEFAULT '', `company` varchar(50) NOT NULL DEFAULT ''

我在MySQL数据库中有两个表,一个名为“users”,另一个名为“groups”

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `full_name` varchar(50) NOT NULL DEFAULT '',
  `position` varchar(50) NOT NULL DEFAULT '',
  `company` varchar(50) NOT NULL DEFAULT '',
  `email` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
)

CREATE TABLE `groups` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group_name` varchar(30) NOT NULL
  PRIMARY KEY (`id`)
) 

如何将用户分配给组?我想把桌子连在一起,但我不知道怎么开始?如果连接表很复杂,我愿意尝试另一种方法

您需要创建一个如下所示的桥接表,并在该表中插入
users.id
groups.id

Users_group (userid,groupid)
如果一个用户可以属于多个组,则可以将
userid
groupid
作为复合主键


假设您试图插入
用户
组合。

您需要创建一个如下的桥接表,并将
用户.id
组.id
插入该表中

Users_group (userid,groupid)
如果一个用户可以属于多个组,则可以将
userid
groupid
作为复合主键


假设您正在尝试插入
用户
组合。

我可以尝试类似插入的操作吗?我可以在我的groups表中添加另一列,然后在检索到userid后将其添加到该表中。例如,在将来,报告需要显示组(仅)信息,您最终将查询整个
Users\u group
表,这不是一种最佳方式,而且数据将是冗余的。例如,如果将来要更新
组名
,则必须在多行中更新。是的,你可以使用
INSERT-INTO
。我认为桥接表是一个不错的选择,因为我想要一个更干净的设计。谢谢你的帮助@JohnnyEnglish请通过给他解决方案来给GGadde评分。我可以试试类似插入的东西吗?我可以在我的groups表中添加另一列,然后在检索到userid后将其添加到该表中。例如,在将来,报告需要显示组(仅)信息,您最终将查询整个
Users\u group
表,这不是一种最佳方式,而且数据将是冗余的。例如,如果将来要更新
组名
,则必须在多行中更新。是的,你可以使用
INSERT-INTO
。我认为桥接表是一个不错的选择,因为我想要一个更干净的设计。谢谢你的帮助@约翰宁·英格利什请给他答案,以表扬他。