@variables er ikke DECLARED .
Enten:
DECLARE user_same BOOLEAN;
SELECT 1 INTO user_same WHERE ...
eller
SELECT @user_same := 1 WHERE ...
Endnu bedre, dette undgår behovet for variablen.
IF (EXISTS SELECT * FROM ...)
Brug heller ikke konstruktionen IN ( SELECT ... ); det er normalt bedre at bruge WHERE EXISTS ( SELECT * FROM ... ) eller JOIN ... ON ... .
(Der kan være flere problemer efter at have rettet dem.)