sql >> Database >  >> RDS >> Mysql

node-mysql meerdere instructies in één query

Ik neem aan dat je node-mysql gebruikt . (maar zou ook moeten werken voor node-mysql2 )

De docs zegt:

Ondersteuning voor meerdere instructies is om veiligheidsredenen uitgeschakeld (tallows voor SQL-injectie-aanvallen als waarden niet correct zijn ontsnapt).

Vragen met meerdere verklaringen

Om deze functie te gebruiken, moet u deze inschakelen voor uw verbinding:

var connection = mysql.createConnection({multipleStatements: true});

Eenmaal ingeschakeld, kunt u query's uitvoeren met meerdere instructies door elke instructie te scheiden met een puntkomma ; . Het resultaat is een array voor elke instructie.

Voorbeeld

connection.query('SELECT ?; SELECT ?', [1, 2], function(err, results) {
  if (err) throw err;

  // `results` is an array with one element for every statement in the query:
  console.log(results[0]); // [{1: 1}]
  console.log(results[1]); // [{2: 2}]
});

Dus als je de multipleStatements . hebt ingeschakeld , je eerste code zou moeten werken.



  1. CONTINUE In Loops gebruiken om de controle in Oracle te hervatten

  2. WHERE IN voorwaarde accepteert geen tekenreekswaarde

  3. Standaard MySQL-tekenset wijzigen in UTF-8 in my.cnf?

  4. chmod mislukt:EPERM (bewerking niet toegestaan) in Android?