– ORDER BY と LIMIT を使えばよい。UPDATE にもあるとは知らなかった..迂闊。
<http://dev.mysql.com/doc/mysql/ja/update.html>
– MySQL リファレンスマニュアル :: 6.4.4 UPDATE 構文
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 …]
[WHERE where_definition]
[ORDER BY …]
[LIMIT row_count]
最初こういうことをやって、同じテーブルに対して更新と参照を同時にやるなと怒られた。
UPDATE footable SET name = ‘foo’ WHERE id = (SELECT id FROM footable
WHERE gender = 1)