2013-10-24 82 views
1

組8包含用戶:1,2,3更新用戶列表:UPDATE或DELETE + INSERT

user_id | group_id 
------------------ 
    1 | 8 
------------------ 
    2 | 8 
------------------ 
    3 | 8 
------------------ 

需要更新用戶列表組8.

所以組8應包含使用者:1,5,7

user_id | group_id 
------------------ 
    1 | 8 
------------------ 
    5 | 8 
------------------ 
    7 | 8 
------------------ 

對於這種特殊情況和表結構,最好的方法是什麼?

「UPDATE」正在更新表中的現有記錄(一個或多個)。 所以我猜「UPDATE」,將不適合我,對不對?

我必須刪除(與「刪除」)的8組的所有用戶和插入(與「INSERT INTO」)用戶的一個新的更新列表?

編輯: 用戶列表之前更新後的更新和用戶列表是任意的,動態的,可能不完全像在我的例子。

+0

它通常是一個壞主意來更新主鍵即使數據庫允許它。應仔細研究對子表(如果有)的影響。此外,在刪除行之前,請檢查子表的影響,因爲這可能會導致級聯刪除。 – NoChance

回答

2

是,刪除和插入是要走的路。您刪除用戶2和3,然後添加用戶5和7.您不需要觸摸用戶1.

更新不好,因爲從概念上講,您將從組中刪除用戶,並加入另一個用戶。你不會將一個用戶轉換爲另一個用戶。

相關問題