更新组中的用户列表:UPDATE或DELETE + INSERT

时间:2013-10-24 20:03:49

标签: mysql

第8组包含用户:1,2,3

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”正在更新表格中的现有记录。 所以我猜“更新”对我不起作用,对吗?

我是否必须删除(使用“DELETE”)来自第8组的所有用户并插入(使用“INSERT INTO”)新的用户更新列表?

编辑: 更新前的用户列表和更新后的用户列表是任意和动态的,可能与我的示例完全不同。

1 个答案:

答案 0 :(得分:2)

是的,删除和插入是要走的路。您删除用户2和3,然后添加用户5和7.您无需触摸用户1。

更新并不好,因为从概念上讲,您正在从组中删除用户并加入另一个用户。您没有将一个用户转换为另一个用户。