Immagino tu stia usando node-mysql . (ma dovrebbe funzionare anche per node-mysql2 )
I documenti dice:
Il supporto per più istruzioni è disabilitato per motivi di sicurezza (consente attacchi SQL injection se i valori non sono sottoposti a escape correttamente).
Query su più istruzioni
Per utilizzare questa funzione devi abilitarla per la tua connessione:
var connection = mysql.createConnection({multipleStatements: true});
Una volta abilitato, puoi eseguire query con più istruzioni separando ciascuna istruzione con un punto e virgola ;
. Il risultato sarà un array per ogni istruzione.
Esempio
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}]
});
Quindi, se hai abilitato multipleStatements
, il tuo primo codice dovrebbe funzionare.