更新内部联接SQL

时间:2018-02-22 20:04:53

标签: mysql inner-join

我正在构建一个通知系统,在其中显示用户所关注的新帖子的数量。在这种情况下,我是用户7

我有两张桌子

社区

  id_follower   id_followed
      7               3
      7               5
      7               7

帖子

  id_post    id_user_post  post     status
     1              3       hi        0
     2              5       hello     0
     3              9       how are   0

我想要的是将我关注的每个用户的帖子status更新为1并发布了一些内容

这只是更新所有内容

    update posts as p
     inner join community as c on
           c.id_follower = 7
                       set p.status=1

在这种情况下,它应该返回2行帖子表更新(2,3)

1 个答案:

答案 0 :(得分:1)

您应该添加与id_follower相关的id_follower的条件

 update posts as p
 inner join community as c on  c.id_follower = 7 
    and p._id_user_post = c.id_followed
  set p.status=1