次のselect
ステートメントがあるとします。これは、のdog=0
後の最初の出現を返しinsert_time
ます。
SELECT mammal, id
FROM mytable
WHERE dog = 0
AND insert_time > "2012-02-09 00:00:00"
LIMIT 0, 1
mammal = 1
次に、その行を更新して、哺乳類がまだ更新されていない場合にのみ更新したいと考えてい=1
ます。これを行う方法を現在知っている唯一の方法は、PHP で配列をフェッチし、哺乳類要素をチェックしてからUPDATE
、行に対して別の mysql ステートメントを実行することです。
UPDATE mytable
SET mammal = 1
WHERE id = selectidfromabove
おそらくSELECT
上記のステートメントをステートメントでラップして、これをすべて1つのmysqlステートメントで実行できる方法はありUPDATE
ますか?