sql >> Base de Datos >  >> RDS >> Mysql

múltiples declaraciones de node-mysql en una consulta

Supongo que estás usando node-mysql . (pero también debería funcionar para node-mysql2 )

Los docs dice:

La compatibilidad con varias declaraciones está deshabilitada por razones de seguridad (permite ataques de inyección SQL si los valores no se escapan correctamente).

Consultas de declaraciones múltiples

Para usar esta función, debe habilitarla para su conexión:

var connection = mysql.createConnection({multipleStatements: true});

Una vez habilitado, puede ejecutar consultas con varias declaraciones separando cada declaración con un punto y coma ; . El resultado será una matriz para cada declaración.

Ejemplo

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}]
});

Entonces, si ha habilitado multipleStatements , tu primer código debería funcionar.