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

node-mysql flere udsagn i én forespørgsel

Jeg gætter på, at du bruger node-mysql . (men bør også fungere for node-mysql2 )

dokumenterne siger:

Understøttelse af flere sætninger er deaktiveret af sikkerhedsmæssige årsager (det giver mulighed for SQL-injektionsangreb, hvis værdier ikke er korrekt escaped).

Flere erklæringsforespørgsler

For at bruge denne funktion skal du aktivere den for din forbindelse:

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

Når det er aktiveret, kan du udføre forespørgsler med flere sætninger ved at adskille hver sætning med et semikolon ; . Resultatet vil være en matrix for hver sætning.

Eksempel

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

Så hvis du har aktiveret multipleStatements , din første kode burde virke.



  1. SQL Server Indsæt eksempel

  2. MySQL - Hvordan SUMMER man tider?

  3. Importerer zippet CSV-fil til PostgreSQL

  4. Brug ikke sys.sql_dependencies i SQL Server (den er forældet)