sql >> Databáze >  >> RDS >> Mysql

Uživatelem definovaná proměnná jako alias MySQL v8.0 nefunguje

Tak jsem na to nakonec přišel. Stalo se to proto, že rank je nyní vyhrazené klíčové slovo v MySQL 8.x.x, jak je popsáno zde .

Jakmile jsem aktualizoval název proměnné, dotaz začal fungovat.

Další alternativa je použít back-ticks, což je podle mě odolnější do budoucna, protože bude rezervováno více klíčových slov, zabrání to zbytečnému rozbití vašeho SQL. Např. Následující funguje dobře na MySQL v8.x.x

Např.:

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


  1. Oracle Převod sekund na hodiny:minuty:sekundy

  2. MariaDB se po aktualizaci nemůže spustit:[Upozornění] Nelze vytvořit testovací soubor /home/mysql/beta.lower-test

  3. Jak vybrat data z tabulky, kde má název tabulky prázdná místa?

  4. chrání prohlížeče IP adresy uživatelů?