MYSQL-将多个用户添加到表列中
可能是因为我不知道如何搜索正确的措辞,但我很难理解如何将多个用户附加到具有多个列的表中 以下是我试图做的:MYSQL-将多个用户添加到表列中,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,可能是因为我不知道如何搜索正确的措辞,但我很难理解如何将多个用户附加到具有多个列的表中 以下是我试图做的: table name: user user_id user_name 1 abc 2 xyz 3 pqr 4 new table2 name : brackets id user_id bracket_name 1
table name: user
user_id user_name
1 abc
2 xyz
3 pqr
4 new
table2 name : brackets
id user_id bracket_name
1 4,2 bracket_1
2 4,3,1 bracket_2
3 2,1 bracket_3
4 3,4,2 bracket_4
--或者--
我正在使用nodejs和sequalize作为我的ORM,并且足够了解这些表的读、写、删除和更新,但是当涉及到组织数据时,我完全不知所措
是否可以使用用户ID或允许用户访问的括号向MYSQL添加一个数组?括号由用户生成,然后他们可以邀请朋友加入括号。用户可以连接多个方括号,也可以作为用户连接其他方括号
任何指导都会很有帮助 我认为连接表可以简化这一点: 它看起来像:
table name: user
user_id user_name
1 abc
2 xyz
3 pqr
4 new
table2 name : brackets
brackets_id bracket_name
1 bracket_1
2 bracket_2
3 bracket_3
4 bracket_4
table3 your junction table:
user_id brackets_id
1 2
1 3
2 1
2 3
2 4
etc.etc.
我会接受这个答案,因为我从来没有想到过!但是,这东西不能变得很大吗?太长了,读不下去了,这会影响性能吗?它可能会变得大,就像“有很多行”(取决于你的数据集),但是如果你想知道它,你会发现实际存储的数据量不会更大,而且存储量会更少,特别是在更新之后(*我会跳过TL;DR部分,但我承认泛化)。更重要的是,关系数据库知道如何通过连接处理此类数据。还有其他好处(例如,使用连接表进行n:m关联意味着您只需触摸一个表即可在用户和括号之间添加关联,而不是两个)。Ray的回答是正确的,Barry的支持也是正确的。要稍微不同地考虑这些关系,可以将User和方括号视为“名词”,而在引用数据库中通常称为“连接表”的内容则视为“动词”。在这种情况下,动词是“be-belishto”,因此此联接表的最佳名称应该是“User\u-belists\u-to\u-Bracket”,或者更简单地说,“User\u-In\u-Bracket”。
table name: user
user_id user_name
1 abc
2 xyz
3 pqr
4 new
table2 name : brackets
brackets_id bracket_name
1 bracket_1
2 bracket_2
3 bracket_3
4 bracket_4
table3 your junction table:
user_id brackets_id
1 2
1 3
2 1
2 3
2 4
etc.etc.