2017-03-08 52 views
0

我要像更新表到最后的ID从另一个表

UPDATE TABLE profile 
SET profile_photo = (SELECT photo_id FROM photos WHERE profile_id 
= 'someprofileid' ORDER BY photo_id DESC LIMIT 1;) 
WHERE 'somecolumn' = 'some criteria' 

我见过Advanced MySql Query: Update table with info from another table

但我只想满足WHERE子句中的最后一个条目运行的东西,因此DESCLIMIT 1 。我如何在SET信息中包含这些标准?

(我的目标是更新更改个人资料照片到最新的资料图片,例如后删除或某物)限制和desc

+1

移除;限制1后 –

回答

1

使用select查询,在该ID简单

获得ID和消防更新
1

update支持order bylimit

UPDATE TABLE profile p 
    SET profile_photo = (SELECT photo_id 
          FROM photos ph 
          WHERE ph.profile_id = 'someprofileid' 
          ORDER BY photo_id DESC 
          LIMIT 1 
         ) 
    WHERE p.'somecolumn' = 'some criteria' 
    ORDER BY p.id DESC -- you need to order by something 
    LIMIT 1;