それで私はついにそれを理解しました、それはrank
のために起こっていました ここで説明されているようにMySQL8.x.xで予約されたキーワードになりました 。
変数名を更新すると、クエリが機能し始めました。
別の選択肢 より多くのキーワードが予約されるので、より将来性があると思うバックティックを使用することです。これにより、SQLが不必要に破損するのを防ぐことができます。例えば。以下はMySQLv8.x.xで正常に動作します
例:
SELECT *, @rank := @rank + 1 AS `rank`
FROM q29wg_jreviews_comments ;