在MySQL中如何将用户分配到组?
我在MySQL数据库中有两个表,一个名为“users”,另一个名为“groups”在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 ''
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
。我认为桥接表是一个不错的选择,因为我想要一个更干净的设计。谢谢你的帮助@约翰宁·英格利什请给他答案,以表扬他。