Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Variável definida pelo usuário como alias MySQL v8.0 não está funcionando


Então eu finalmente descobri, estava acontecendo porque rank agora é uma palavra-chave reservada no MySQL 8.x.x conforme descrito aqui .

Depois que atualizei o nome da variável, a consulta começou a funcionar.

Outra alternativa é usar back-ticks que eu acho que é mais à prova de futuro à medida que mais palavras-chave são reservadas, isso impedirá que seu SQL seja interrompido desnecessariamente. Por exemplo. O seguinte funciona bem no MySQL v8.x.x

Por exemplo:
SELECT *, @rank := @rank + 1 AS `rank`
FROM q29wg_jreviews_comments ;