@variables tidak DECLARED .
Atau:
DECLARE user_same BOOLEAN;
SELECT 1 INTO user_same WHERE ...
atau
SELECT @user_same := 1 WHERE ...
Lebih baik lagi, ini menghindari kebutuhan akan variabel.
IF (EXISTS SELECT * FROM ...)
Juga, jangan gunakan konstruksi IN ( SELECT ... ); biasanya lebih baik menggunakan WHERE EXISTS ( SELECT * FROM ... ) atau JOIN ... ON ... .
(Mungkin ada lebih banyak masalah setelah memperbaikinya.)