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.