Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzerdefinierte Variable als Alias ​​MySQL v8.0 funktioniert nicht

Also habe ich es endlich herausgefunden, es geschah wegen rank ist jetzt ein reserviertes Schlüsselwort in MySQL 8.x.x, wie hier .

Nachdem ich den Variablennamen aktualisiert hatte, begann die Abfrage zu funktionieren.

Eine weitere Alternative ist die Verwendung von Backticks, die meiner Meinung nach zukunftssicherer sind, da mehr Schlüsselwörter reserviert werden. Dadurch wird verhindert, dass Ihr SQL unnötig bricht. Z.B. Folgendes funktioniert gut auf MySQL v8.x.x

Beispiel:

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