sql >> Base de Datos >  >> RDS >> Mysql

La variable definida por el usuario como alias MySQL v8.0 no funciona

Así que finalmente lo descubrí, estaba sucediendo porque rank ahora es una palabra clave reservada en MySQL 8.x.x como se describe aquí .

Una vez que actualicé el nombre de la variable, la consulta comenzó a funcionar.

Otra alternativa es usar back-ticks, lo que creo que es una prueba más futura a medida que se reservan más palabras clave, evitará que su SQL se rompa innecesariamente. P.ej. Lo siguiente funciona bien en MySQL v8.x.x

Por ejemplo:

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