sql >> Databasteknik >  >> RDS >> Mysql

node-mysql flera satser i en fråga

Jag antar att du använder node-mysql . (men bör också fungera för node-mysql2 )

dokumenten säger:

Stöd för flera satser är inaktiverat av säkerhetsskäl (det tillåter SQL-injektionsattacker om värden inte är korrekt escaped).

Flera satsfrågor

För att använda den här funktionen måste du aktivera den för din anslutning:

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

När det är aktiverat kan du köra frågor med flera satser genom att separera varje sats med ett semikolon ; . Resultatet blir en array för varje påstående.

Exempel

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}]
});

Så om du har aktiverat multipleStatements , bör din första kod fungera.



  1. Hur REGEXP_SUBSTR()-funktionen fungerar i MySQL

  2. PostgreSQL 11:Vad är nytt

  3. Docker:Kombinera flera bilder

  4. DBMS-handledning:En komplett kraschkurs i DBMS