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.