如何在mysql表上存储多个值

时间:2019-06-26 06:09:01

标签: mysql

我是SQL的新手,我尝试了解一些基本知识。

我有2张桌子:

  • 个用户: ID | NAME |电子邮件| APPS
  • 应用: ID | NAME

问题

如何基于这两个表创建第三个表,作为JSON如下所示:

[
   { id: 1, name: 'Daniel', email: 'dan@iel.com', apps: [1,2,3]},
   { id: 2, name: 'Ben', email: 'dan@iel.com', apps: [1,5]},
   { id: 3, name: 'Maya', email: 'dan@iel.com', apps: [4]}
]

明智地进行查询,我该如何编写一个查询来创建这样的用户,其中apps是ID的列表:

{ id: 1, name: 'Daniel', email: 'dan@iel.com, apps: [1,2,3]}

1 个答案:

答案 0 :(得分:1)

使用枢轴表会不会更好。

数据透视表:

[
  { pivot_id: user_id, app_id },
  { pivot_id: user_id, app_id },
]

一个简单的循环可用于插入数据透视表

foreach(apps as app_id)
{
 query = "INSERT INTO pivot_table set user_id = `user_id`, app_id = `app_id` ";
}