@variables är inte DECLARED .
Antingen:
DECLARE user_same BOOLEAN;
SELECT 1 INTO user_same WHERE ...
eller
SELECT @user_same := 1 WHERE ...
Ännu bättre, detta undviker behovet av variabeln.
IF (EXISTS SELECT * FROM ...)
Använd inte heller konstruktionen IN ( SELECT ... ); det är vanligtvis bättre att använda WHERE EXISTS ( SELECT * FROM ... ) eller JOIN ... ON ... .
(Det kan uppstå fler problem efter att ha åtgärdat dem.)