Задать вопрос
@Basteryc

После обновления mysql запрос стал некорректный, как исправить?

было mysql 5.7 и все работло
обновили до Версия сервера: 8.0.2
и получилось:
SELECT rank FROM (
SELECT s.*, @rank := @rank + 1 rank FROM (
SELECT l.user_id, l.meta_value AS Balance FROM wp_usermeta l

WHERE l.meta_key = 'mycred_default'
AND l.meta_value != 0
) s, (SELECT @rank := 0) init
ORDER BY Balance+0 DESC, s.user_id ASC
) r
WHERE user_id = 1

У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'FROM (
SELECT s.*, @rank := @rank + 1 rank FROM (
SELECT l.user' на строке 1

Как можно исправить или переписать запрос?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В версии 8.0.2 добавилось зарезервированное слово RANK.
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Если это слово используется как название таблицы или поля, то его надо взять в обратные кавычки `rank`.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sashagamzes
Самоучка
Я бы целиком переписал структуру выборки через JOIN и ключи.

А вообще, где структура таблицы? Какую ошибку на выходе показывает MySql или в чем различие ответов???
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы