【发布时间】:2016-06-12 22:12:18
【问题描述】:
我有下表
-
一个项目表
project_id,project_name
-
技能表
skill_id,skill_name
-
一个 project_skill 表(多对多关系)
project_skill_id,project_id,skill_id
浏览器会有一个表单,要求用户输入项目名称和标签的 SO 样式自动完成。我将以下 json 格式发送回 sql 以供插入
{"project_name":"foo","skills":["bar","baz"]}
我的问题与用户编辑现有项目的情况有关。假设用户从技能中删除“baz”并包含“zed”。我如何正确处理更新多对多表
{"project_name":"foo","skills":["bar","zed","biz"]}
- 我是否从 m2m 表中删除所有记录并使用新技能重新插入?
- 根据 project_id 删除所有记录
- 插入 bar、zed、biz 的新记录
- 我是否在服务器中检查删除/添加的内容并仅删除实际删除的内容
- 从表中删除 baz
- 添加业务
这也与修改 project_name 等有关。我是否检查已修改的内容并更新必要的内容或执行完整的删除和插入
【问题讨论】:
标签: sql node.js postgresql