Proponuję zapoznać się z dokumentacją na ten temat.https://dev. mysql.com/doc/refman/8.0/en/prepare.html
Dokumentacja nie zawiera żadnych odniesień do żadnego innego sposobu wiązania zmiennych innych niż ?
s, ale wspomina, że można używać zmiennych zdefiniowanych przez użytkownika.
SET @s = 'SELECT * FROM MY_TABLE WHERE my_column_1 = @a AND my_column_2 = @b ';
PREPARE stmt2 FROM @s;
SET @a = 54;
SET @b = 89';
EXECUTE stmt2;
Daje to samo wyjście, a zmienne są oceniane tylko podczas wykonywania instrukcji, po prostu brakuje jednoznacznego powiązania zmiennej z zapytaniem.