数据库表:
task_assignee
------------------------------
| id | task_id | assignee_id |
------------------------------
| 1 | 3 | 2 |
| 2 | 3 | 5 |
任务
---------------------------
| id | content | category |
---------------------------
| 3 | 'Bake' | 'A' |
以下是该方案:
task_assignee
中的两个记录。我保存了这个任务。对数据库进行这些更改的最有效方法是什么?
我正在考虑向task_assignee
添加另一列,它将作为我将要更新的各种标志。如果未选中受让人,我会将其设置为0,如果已选中,则将其设置为1,但我不确定这是否是一件好事,而且我不认为这可以涵盖选择新受让人的时间。
我能想到的是一个繁琐的循环,它将检查为该任务选择的新受让人是否已经在task_assignee
中,如果它已经附加到该任务,如果不是,那么它会插入一个新任务。
我还想过先删除过去的记录然后插入新记录,但我不确定这是否有效? - >添加新受让人时
答案 0 :(得分:0)
从要从任务中删除的用户中删除task_assignee中的记录并添加要添加的记录不是更简单。所以你只需要两个查询。 从中删除并插入。
您应该尽可能保持表的清洁,因为task_assignee表没有唯一ID,您可以删除所有不需要的记录。
如上所述,您还可以执行更新方法。我更喜欢删除并再次添加它。只是一种习惯的力量。
亲切的问候