In MySQL Variablen mit dem @
sigil sind Sitzungsvariablen, keine lokalen Variablen. Sitzungsvariablen unterscheiden sich von lokalen Variablen, auch wenn sie denselben Namen haben, abgesehen von @
Siegel.
Siehe auch einige meiner früheren Antworten dazu:
- "@"-Symbol in gespeicherter Prozedur?
- MySql-Syntaxfehler bei Prozedurparameter
- Null-Fehler bei gespeicherter Prozedur