【问题标题】:How to update column if value is not present in other table如果其他表中不存在值,如何更新列
【发布时间】:2013-02-28 08:43:13
【问题描述】:

我有一个表 board 具有唯一列 id 和列 hide。我有另一个表pins,其中有一列board_id,它不是唯一的。每个pins.board_id也在board.id中,可以有多个pins.board_id相同。

现在我需要检查每个 board.id 以查看它是否存在于任何 pins.board_id 中,如果没有将 hide 设置为“1”。我想这样做的方法是连接,但连接不只是匹配两个表中存在相同值的地方吗?

任何建议表示赞赏!

【问题讨论】:

    标签: mysql sql join sql-update


    【解决方案1】:

    使用LEFT JOIN 加入两个表。 board_id 上包含空值的列仅表示它不存在。

    UPDATE  board a
            LEFT JOIN pins b
                ON a.id = b.board_ID
    SET     a.hide = 1
    WHERE   b.board_ID IS NULL
    

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 2011-04-07
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      相关资源
      最近更新 更多