@variables zijn niet DECLARED .
Ofwel:
DECLARE user_same BOOLEAN;
SELECT 1 INTO user_same WHERE ...
of
SELECT @user_same := 1 WHERE ...
Beter nog, dit vermijdt de noodzaak van de variabele.
IF (EXISTS SELECT * FROM ...)
Gebruik ook niet de constructie IN ( SELECT ... ); het is meestal beter om WHERE EXISTS ( SELECT * FROM ... ) . te gebruiken of JOIN ... ON ... .
(Er kunnen meer problemen zijn nadat deze zijn opgelost.)