Mysql
 sql >> Database >  >> RDS >> Mysql

La variabile definita dall'utente come alias MySQL v8.0 non funziona

Quindi alla fine l'ho capito, stava succedendo perché rank è ora una parola chiave riservata in MySQL 8.x.x come descritto qui .

Dopo aver aggiornato il nome della variabile, la query ha iniziato a funzionare.

Un'altra alternativa consiste nell'usare i back-tick che penso siano più a prova di futuro poiché più parole chiave vengono riservate, impedirà al tuo SQL di interrompersi inutilmente. Per esempio. Quanto segue funziona bene su MySQL v8.x.x

Es.:

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