Alors j'ai finalement compris, ça se passait parce que rank
est maintenant un mot clé réservé dans MySQL 8.x.x comme décrit ici .
Une fois que j'ai mis à jour le nom de la variable, la requête a commencé à fonctionner.
Une autre alternative est d'utiliser des back-ticks qui, je pense, sont plus à l'épreuve du temps car plus de mots-clés sont réservés, cela empêchera votre SQL de se casser inutilement. Par exemple. Ce qui suit fonctionne bien sur MySQL v8.x.x
Ex :
SELECT *, @rank := @rank + 1 AS `rank`
FROM q29wg_jreviews_comments ;