У меня действительно странная ситуация.Мне нужно поменять значение столбца между двумя строками в одной таблице, поэтому я использую (где s1 и s2 - две строки)
UPDATE table s1, table s2
SET s1.data = s2.data, s2.data = @temp
WHERE @temp:=s1.data AND [some expression that works]
ORDER BY s2.data ASC
LIMIT 1
Это создаетошибка Неправильное использование UPDATE и ORDER BY
Я просто хочу найти запись из таблицы, у которой есть ближайшая меньшая запись data к исходной записи и подкачкадва значения.Выполнение
SELECT * FROM table s1, table s2
WHERE [the same expression that works]
ORDER BY s2.data ASC
LIMIT 1
Возвращает таблицу с необходимыми результатами, но упомянутое ОБНОВЛЕНИЕ не работает.Что я не так делаю?