Let’s say I have the following select statement, which returns the first occurrence where dog=0 after the insert_time:
SELECT mammal, id
FROM mytable
WHERE dog = 0
AND insert_time > "2012-02-09 00:00:00"
LIMIT 0, 1
I then want to update that row so that mammal = 1 ONLY if mammal doesn’t already =1. The only way that I would currently know how to do this would be to fetch the array in PHP, check the mammal element and then run another mysql statement to UPDATE the row.
UPDATE mytable
SET mammal = 1
WHERE id = selectidfromabove
Is there a way I can do this all in one mysql statement, perhaps wrapping the SELECT statement above in an UPDATE statement?
You can do exactly what you proposed:
Note: your original select query was modified to only select id.