2011-05-06 44 views
2

我有一个产生,我希望更新行,查询看起来像这样的查询:更新行基础上加入

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的方式来做到这一点

回答

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

现在我觉得愚蠢 - 我试过这个,但它失败了,但显然是通过我当时制造的错字。 – Will 2011-05-06 15:10:10

+1

为什么你认为这个网站是如此受欢迎的第一位! – 2011-05-06 15:25:40