I MySQL, variabler med @ sigil er sessionsvariabler, ikke lokale variabler. Sessionsvariabler er forskellige fra lokale variabler, selvom de har det samme navn bortset fra @ sigil.
Se også et par af mine tidligere svar om dette:
- "@" symbol i lagret procedure?
- MySql-syntaksfejl på procedureparameter
- Nul fejl ved lagret procedure