sql >> Database >  >> RDS >> Mysql

MySQL:benoemde parameters met PREPARE-opdracht?

Ik raad aan om de documentatie hierover te bekijken.https://dev. mysql.com/doc/refman/8.0/en/prepare.html

De documentatie verwijst niet naar een andere manier om variabelen te binden, behalve de ? s, maar er wordt wel vermeld dat u door de gebruiker gedefinieerde variabelen kunt gebruiken.

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;

Produceert dezelfde uitvoer en de variabelen worden alleen geëvalueerd bij het uitvoeren van de instructie, het mist alleen de explicietheid van het binden van de variabele aan de query.




  1. Django:aangepaste onbewerkte SQL-inserts gebruiken met executemany en MySQL

  2. FOUT 1406:1406:Gegevens te lang voor kolom, maar dat zou niet zo moeten zijn?

  3. Resultaten van geselecteerde query's combineren zonder set-operators te gebruiken (UNION)

  4. Genereer INSERT-instructies van SQLite-queryresultaten