sql >> Database >  >> RDS >> Mysql

Door de gebruiker gedefinieerde variabele als alias MySQL v8.0 werkt niet

Dus ik kwam er eindelijk achter, het gebeurde omdat rank is nu een gereserveerd trefwoord in MySQL 8.x.x zoals hier .

Nadat ik de variabelenaam had bijgewerkt, begon de query te werken.

Een ander alternatief is om back-ticks te gebruiken waarvan ik denk dat deze meer toekomstbestendig zijn naarmate er meer trefwoorden worden gereserveerd, het zal voorkomen dat uw SQL onnodig breekt. bijv. Het volgende werkt prima op MySQL v8.x.x

Bijv.:

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


  1. niet-geïnitialiseerde constante MysqlCompat::MysqlRes (met mms2r gem)

  2. Hoe 2 of meer SQL-query's in PHP uit te voeren zonder tabellen samen te voegen

  3. langzame mysql-query die honderdduizenden keren per uur moet worden uitgevoerd

  4. Twee-factorenauthenticatie inschakelen voor ScaleGrid DBaaS