Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Benannte Parameter mit PREPARE-Befehl?

Ich schlage vor, sich diesbezüglich die Dokumentation anzusehen.https://dev. mysql.com/doc/refman/8.0/en/prepare.html

Die Dokumentation enthält keine Hinweise auf andere Methoden zum Binden von Variablen als ? s, aber es wird erwähnt, dass Sie benutzerdefinierte Variablen verwenden können.

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;

Erzeugt dieselbe Ausgabe und die Variablen werden nur bei der Ausführung der Anweisung ausgewertet, es fehlt lediglich die Explizitheit, die Variable an die Abfrage zu binden.