MySQL v8.0.13 Предупреждение 1287 Установка пользовательских переменных в выражениях устарела и будет удалена в следующем выпуске - PullRequest
0 голосов
/ 26 ноября 2018

Выполнение следующего запроса в MySQL v8.0.13 приводит к этой ошибке:

0 строк затронуто, 1 предупреждение (я): 1287 Установка пользовательских переменных в выражениях устарела и будетудалено в будущем выпуске.Вместо этого, пожалуйста, установите переменные в отдельных выражениях.

SET @i = -1;

UPDATE `tb_test`
SET `order` = (@i := @i + 1)
ORDER BY `order` ASC;

Есть предложения о том, как установить переменные в отдельном выражении?

1 Ответ

0 голосов
/ 26 ноября 2018

Это действительно выстрел в темноте (никогда не использовал mySQL), но при проверке документов он говорит:

"Поддержка установки пользовательских переменных в выражениях кроме SET устарел в MySQL 8.0.13. Эта функциональность подлежит удалению в MySQL 9.0. "

(выделено мной).

Так что, возможно, проблема в том,что вы увеличиваете @i без использования SET?Можете ли вы переписать это с явным SET и посмотреть, поможет ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...