我有一张用户可以拥有多张照片的照片表。
我正在尝试创建以下查询:
$q = Doctrine_Query::create()
->update('Photo p')
->set('p.photo_type', 1)
->where('p.user_id = ?', $id)
->andWhere('p.date_added = (SELECT MIN(p.date_added) FROM Photo p WHERE p.user_id = ?)', $id)
我们的想法是将“photo_type”设置为1,以便为此用户添加最少日期的照片(最早的照片)。
我似乎无法正确使用语法。有人能指出我正确的方向吗?
谢谢。
修改
根据这个问题的答案(MySQL Error 1093 - Can't specify target table for update in FROM clause),我似乎正在尝试做一些无法做到的事情。这个问题可以关闭。
答案 0 :(得分:2)
试试这个:
$q = Doctrine_Query::create()
->update('Photo p')
->set('p.photo_type', 1)
->where('p.user_id = ?', $id)
->orderBy('p.date_added', 'desc')
->limit(1);