sql >> Databáze >  >> RDS >> Mysql

node-mysql více příkazů v jednom dotazu

Předpokládám, že používáte node-mysql . (ale mělo by fungovat také pro node-mysql2 )

dokumenty říká:

Podpora více příkazů je z bezpečnostních důvodů zakázána (v případě, že hodnoty nejsou správně escapovány, jsou útoky SQL injection zakázány).

Dotazy na více příkazů

Chcete-li tuto funkci používat, musíte ji pro své připojení povolit:

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

Po povolení můžete provádět dotazy s více příkazy tak, že každý příkaz oddělíte středníkem ; . Výsledkem bude pole pro každý příkaz.

Příklad

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

Pokud jste tedy povolili multipleStatements , váš první kód by měl fungovat.



  1. Postgres právě náhodně přestal fungovat (Rails, PGSQL.5432)

  2. Oracle SQL, jak odstranit čas z data

  3. Replikace MySQL a selhání založené na GTID – hluboký ponor do chybných transakcí

  4. Dotazy MySQL