Я пытаюсь обновить строку MySQL, но у меня возникла проблема с созданием предложения WHERE
. Вот что у меня есть до сих пор:
UPDATE tbl
SET clmn = 'some value'
WHERE date = ?
Я хочу это заполнить ?
с самой последней датой в таблице. Как я могу это сделать? Я попытался использовать ORDER BY
но потом выяснил, что он не используется в WHERE
. Может ли кто-нибудь помочь мне с этим?
Используйте подзапрос, который находит самую последнюю дату в таблице:
UPDATE tbl
SET clmn = 'some value'
WHERE date = (SELECT t.max_date FROM (SELECT MAX(date) AS max_date FROM tbl) t );
#1093 - You can't specify target table 'tbl' for update in FROM clause