Eu acho que você está usando node-mysql . (mas também deve funcionar para node-mysql2 )
Os documentos diz:
O suporte para várias instruções está desabilitado por motivos de segurança (permite ataques de injeção de SQL se os valores não forem escapados adequadamente).
Consultas de várias declarações
Para usar esse recurso, você deve habilitá-lo para sua conexão:
var connection = mysql.createConnection({multipleStatements: true});
Uma vez ativado, você pode executar consultas com várias instruções separando cada instrução com um ponto e vírgula
;
. O resultado será um array para cada instrução. Exemplo
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}]
});
Então, se você ativou o
multipleStatements
, seu primeiro código deve funcionar.