【问题标题】:update rows in a single table based on join基于连接更新单个表中的行
【发布时间】:2011-05-06 15:03:41
【问题描述】:

我有一个查询,它生成我希望更新的行,查询如下所示:

SELECT item.item_id
FROM   items
JOIN   users2items
ON     users2items.item_id = items.item_id
WHERE  users2items.user_id = 10;

现在我需要为 item 表中与该查询匹配的每条记录更新一列;目前我正在获取结果集,然后为每个结果构建和执行查询,但我认为可能有一种方法可以直接在 SQL 中执行此操作。我正在执行的单个语句是:

UPDATE items SET is_usable = 1 WHERE item_id = $current_id

所以它按原样工作,但我正在尝试了解是否有纯 SQL 方法来做到这一点

【问题讨论】:

    标签: mysql sql


    【解决方案1】:
    UPDATE items
    JOIN   users2items
    ON     users2items.item_id = items.item_id
    SET    is_usable = 1
    WHERE  users2items.user_id = 10
    

    【讨论】:

    • 我现在觉得自己很愚蠢——我试过这个但失败了,但显然是因为我当时打错了字。
    • 你为什么认为这个网站一开始那么受欢迎!
    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 2019-01-19
    • 2021-01-18
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多