@variables
không phải là DECLARED
.
Một trong hai:
DECLARE user_same BOOLEAN;
SELECT 1 INTO user_same WHERE ...
hoặc
SELECT @user_same := 1 WHERE ...
Tốt hơn, điều này tránh sự cần thiết của biến.
IF (EXISTS SELECT * FROM ...)
Ngoài ra, không sử dụng cấu trúc IN ( SELECT ... )
; thường tốt hơn nếu sử dụng WHERE EXISTS ( SELECT * FROM ... )
hoặc JOIN ... ON ...
.
(Có thể có nhiều vấn đề hơn sau khi khắc phục những vấn đề đó.)