You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建通知系统时,用户7如何用UPDATE INNER JOIN精准更新关注用户的帖子状态?

解决UPDATE INNER JOIN全量更新的问题

我来帮你搞定这个困扰!你现在的核心需求是仅更新你(用户ID7)关注的用户所发布的帖子ID为2、3的状态为1,但之前的语句没加精准的过滤条件,才导致全表更新了。

先明确表结构假设(结合你的需求推导)

  • Community表:存储关注关系,应该包含follower_id(关注者ID)和followee_id(被关注者ID)两个核心字段
  • Posts表:存储帖子内容,包含post_id(帖子ID)、user_id(发布者ID)、status(帖子状态)字段

正确的UPDATE INNER JOIN语句

UPDATE Posts p
INNER JOIN Community c 
  ON p.user_id = c.followee_id  -- 关联被关注用户和其发布的帖子
SET p.status = 1
WHERE 
  c.follower_id = 7  -- 锁定当前操作的用户是ID7
  AND p.post_id IN (2, 3);  -- 仅更新指定的帖子ID

语句逻辑拆解

  • 通过INNER JOIN只关联到你关注的用户发布的帖子,排除无关用户的内容
  • WHERE子句的c.follower_id =7确保只处理你作为关注者的关系
  • p.post_id IN (2,3)精准定位需要更新的帖子,彻底避免全量更新的问题

如果之后你需要更新所有关注用户的新帖子,只需要去掉AND p.post_id IN (2,3)这个条件即可。

内容的提问来源于stack exchange,提问作者Jean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:47:19