Ich vermute, Sie verwenden node-mysql . (sollte aber auch für node-mysql2 funktionieren )
Die Dokumente sagt:
Die Unterstützung für mehrere Anweisungen ist aus Sicherheitsgründen deaktiviert (erlaubt SQL-Injection-Angriffe, wenn Werte nicht richtig maskiert werden).
Mehrere Anweisungsabfragen
Um diese Funktion nutzen zu können, müssen Sie sie für Ihre Verbindung aktivieren:
var connection = mysql.createConnection({multipleStatements: true});
Nach der Aktivierung können Sie Abfragen mit mehreren Anweisungen ausführen, indem Sie jede Anweisung durch ein Semikolon ;
trennen . Das Ergebnis ist ein Array für jede Anweisung.
Beispiel
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}]
});
Wenn Sie also die multipleStatements
aktiviert haben , sollte Ihr erster Code funktionieren.