Chyba używasz node-mysql . (ale powinno również działać dla node-mysql2 )
dokumentacja mówi:
Obsługa wielu instrukcji jest wyłączona ze względów bezpieczeństwa (pozwala na ataki typu SQL injection, jeśli wartości nie są poprawnie chronione).
Zapytania o wiele instrukcji
Aby korzystać z tej funkcji, musisz włączyć ją dla swojego połączenia:
var connection = mysql.createConnection({multipleStatements: true});
Po włączeniu możesz wykonywać zapytania z wieloma instrukcjami, oddzielając każdą instrukcję średnikiem ;
. Wynikiem będzie tablica dla każdej instrukcji.
Przykład
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}]
});
Więc jeśli włączyłeś multipleStatements
, Twój pierwszy kod powinien działać.