Egyéni változók a mysql-ben
A MySQL olyan változókat támogat, mint például a @ változó_név. A változó neve lehet az aktuális készlet alfanumerikus karakterei, valamint _, $ és.
A változókat nem szabad inicializálni. Alapértelmezésben NULL-t tartalmaznak, és egész számot, valós vagy sztring értéket tárolhatnak. Az aktuális munkamenet minden változója felszabadul, amikor a kiszolgáló munkamenet leáll. Minden változó csak az aktuális munkamenetre vonatkozik. Más munkamenetekben azonos névvel rendelkező változók is használhatók, de önmagukban fognak működni.
Beállíthatja a változót a SET híváson keresztül:
És állítsd be a változót a @variable: = expr kifejezésbe, például:
Itt kell használnia a szintaxist. = mert a szimbólum = már összehasonlításra van fenntartva.
Felhasználóváltozók akkor használhatók, ha a kifejezések megengedettek. Ne feledje, hogy jelenleg nem használatos olyan környezetekben, ahol kifejezetten szükség van egy számra, például a SELECT hívás LIMIT záradékában.
A SELECT utasításban minden kifejezés csak akkor kerül kiértékelésre, ha azt a felhasználónak küldi. Ez azt jelenti, hogy a GROUP BY vagy ORDER BY nem tud hozzáférni egy kifejezéshez, amely tartalmazza a SELECT változóit. Például az alábbi utasítás nem működik a várt módon:
SELECT (@aa: = id) AS a, (@aa + 3) AS b táblázat_neve HAVING b = 5;
Ok: A @aa nem tartalmazza az aktuális vonal értékét, hanem az előző vett karakterlánc azonosító értékét.