Mysql
 sql >> Database >  >> RDS >> Mysql

node-mysql più istruzioni in una query

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.