數據庫表:由於更改而更新數據庫中的現有記錄?
task_assignee
------------------------------
| id | task_id | assignee_id |
------------------------------
| 1 | 3 | 2 |
| 2 | 3 | 5 |
任務
---------------------------
| id | content | category |
---------------------------
| 3 | 'Bake' | 'A' |
下面是這種情況:
- 我創建了一個任務有兩個assig內斯。這相當於該任務的
task_assignee
中的兩條記錄。我保存任務。 - 我想編輯任務並刪除兩個受讓人之一,然後選擇其他人。所以,仍然等於兩個受讓人,其中一個現在不同。
會是什麼使這些更改數據庫的最有效方法是什麼?
我想添加另一列到task_assignee
將作爲排序,我會更新的一個標誌。如果受讓人未被選中,我會將其設置爲0,如果選擇了受讓人,則將其設爲0,但我不確定這是否是一件好事,我不認爲這可以覆蓋何時選擇新受託人。 我能想到的是一個繁瑣的循環,將檢查是否選擇該任務的新的受讓人已經在task_assignee
,如果它已經連接到該任務,如果不是,那麼它插入一個新的。
我還以爲只是刪除過去的記錄第一然後插入新的,但我不知道這是有效的? - >添加新的受讓人
'UPDATE task_assignee SET assignee_id = newAssigneeID WHERE TASK_ID = 3,assignee_id = 5' – Swellar
@CarlJan是啊,但如果我做了三份受讓人什麼?加上我沒有得到AND部分,因爲那種暗示固定值? – herondale
您可以根據用戶輸入設置動態值,以便您可以知道具有此'assignee_id'的'task_id'是否會更新 – Swellar