Какой самый быстрый способ обновить запись с наибольшим значением id, где nick = 'a' (в одном запросе)?
Моя таблица выглядит так:
+------+--------+----+
| nick | post | id |
+------+--------+----+
| a | tehe | 1 |
| a | tehe 2 | 2 |
| a | tehe 3 | 3 |
| b | omg | 4 |
| b | omg 2 | 5 |
| a | tehe 4 | 6 |
| b | omg 3 | 7 |
+------+--------+----+
Я попытался:
update (select * from posts where nick='a' order by id limit 1) as last_id set post='tehe 4 updated';
, но целевая таблица last_id ОБНОВЛЕНИЯ не обновляется. Теперь я знаю, что это не должно работать.
update posts set post = 'tehe 4? updated' where id = (select id from posts where nick='a' order by id desc limit 1);
, но вы не можете указать целевую таблицу 'сообщения для обновления в предложении FROM