Jeg gætter på, at du bruger node-mysql . (men bør også fungere for node-mysql2 )
dokumenterne siger:
Understøttelse af flere sætninger er deaktiveret af sikkerhedsmæssige årsager (det giver mulighed for SQL-injektionsangreb, hvis værdier ikke er korrekt escaped).
Flere erklæringsforespørgsler
For at bruge denne funktion skal du aktivere den for din forbindelse:
var connection = mysql.createConnection({multipleStatements: true});
Når det er aktiveret, kan du udføre forespørgsler med flere sætninger ved at adskille hver sætning med et semikolon ;
. Resultatet vil være en matrix for hver sætning.
Eksempel
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å hvis du har aktiveret multipleStatements
, din første kode burde virke.