首页 > 解决方案 > 如何组织用于比较表的数据库,在创建后生成主索引?(JS + Node + MySQL + 续集)

问题描述

我会尽量简单地解释它,想象一下表格是这样的:

从事项目 X

ID 姓名
157
234
276 杰斯

从事Z项目:

ID 姓名
157 丹尼
567 富兰克林

工人指数:

ID 姓名
157 丹尼尔
234 本杰明
276 杰西卡
375 阿诺德
567 坦率

我想从主索引开始查询以获得类似

ID 姓名 项目 X 上的名称 Z项目的名字
157 丹尼尔 丹尼
234 本杰明 无效的
567 坦率 无效的 富兰克林

现在我可以使用 LEFT JOIN 使其工作,但我不知道如何在这里实现一些数据完整性,并使用 sequelize 使其变得简单。主要问题是主索引是在创建项目之后创建的。它看起来像这样:

  1. 创建项目表(没有工人 ID)。
  2. 生成工人 ID
  3. 通过遍历所有表创建一个主索引。
  4. 根据主索引中的 ID 进行查询,根据 ID 知道哪个工人在做哪个项目。

有没有办法创建这些连接?我将如何根据这个数据库进行查询?

编辑:搜索时我使用的是 ID 数组

标签: javascriptmysqlsqlnode.jssequelize.js

解决方案


首先,让我们列出所需的表格:

workers: with real name and worker_idfor the PRIMARY KEY
projects: with project_id, etc
w_p: 多对多映射表,worker_idand nicknameand and project_id;PRIMARY KEY(project_id, worker_id), INDEX(worker_id, project_id)

现在在所需的SELECT.


推荐阅读