UPDATE で同じ条件の任意数のレコードだけ更新したい

– 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)