基于连接更新单个表中的行

时间:2011-05-06 15:03:42

标签: mysql sql

我有一个Query,它会生成我想要更新的行,查询如下所示:

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

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

UPDATE items SET is_usable = 1 WHERE item_id = $current_id

所以它按原样运行,但我正在尝试学习是否有纯SQL方法来实现它

1 个答案:

答案 0 :(得分:8)

UPDATE items
JOIN   users2items
ON     users2items.item_id = items.item_id
SET    is_usable = 1
WHERE  users2items.user_id = 10