Как можно выразить эти 2 запроса одним ? И возможно ли вообще ?
SELECT MAX(time) FROM visitors WHERE ip='127.0.0.1' AND registered=0
UPDATE visitors SET registered=1 WHERE ip='127.0.0.1' AND registered=0 AND time=(тут то что получили в 1м запросе)
Такой вот запрос не проходит ):
UPDATE visitors SET registered=1 WHERE ip='127.0.0.1' AND registered=0 AND MAX(time)
1. integer - 26 Июня, 2007 - 14:24:04 - перейти к сообщению
2. valenok - 26 Июня, 2007 - 14:44:49 - перейти к сообщению
UPDATE visitors SET registered=1 WHERE ip='127.0.0.1' AND registered=0 AND `time`=MAX(time)
3. integer - 26 Июня, 2007 - 15:11:09 - перейти к сообщению
генеально.
пойду учить матчасть
А как это понимать ?\n\n(Добавление)
не работает как ни крути\n\n(Добавление)
ап
пойду учить матчасть
Цитата:
Ошибка:
Invalid use of group function
Invalid use of group function
А как это понимать ?\n\n(Добавление)
не работает как ни крути\n\n(Добавление)
ап
4. valenok - 27 Июня, 2007 - 15:02:47 - перейти к сообщению
Но такая конструкция тоже возвращает ошибку, так как update и чтение приходится на одну таблицу.
На счёт этого даже подавался Bug Report
Ответ на это был: Это задокументированное, ожидаемое поведение функции. Поэтому не баг..
Но доделать или исправить вроде не собираются.
Давайте вы опубликуете структуру таблицы, попробуем придумать альтернативное решение.\n\n(Добавление)
А пор такого типа комбинированные запросы с минимум и максимумом можно прочесть тут: http://mysql-generating-summarie[dot][dot][dot]-maximum-values/