Есть запрос который работает, но в двух запросах. К сожалению не работает корректно в PHP.
SET @id = (SELECT id FROM `request` WHERE user_id = '97' ORDER BY `id` DESC LIMIT 1);UPDATE request SET message = 'text' WHERE id LIKE @id;
Я б использовал:
UPDATE request SET message = 'text' WHERE id = (SELECT message FROM `request` WHERE user_id = '97' ORDER BY `id` DESC LIMIT 1)
но он не работает в MySQL 5.6.
Необходимо учитывать что user_id может быть не уникальным и необходимо менять в последней строке.
Уникальный только id.