node-mysql を使用していると思います 。 (ただし、node-mysql2 でも機能するはずです。 )
ドキュメント 言う:
セキュリティ上の理由から、複数のステートメントのサポートは無効になっています(値が適切にエスケープされていない場合、SQLインジェクション攻撃が許可されます)。
複数のステートメントクエリ
この機能を使用するには、接続でこの機能を有効にする必要があります:
var connection = mysql.createConnection({multipleStatements: true});
有効にすると、各ステートメントをセミコロン;
で区切ることにより、複数のステートメントでクエリを実行できます。 。結果は各ステートメントの配列になります。
例
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}]
});
したがって、multipleStatements
を有効にしている場合 、最初のコードが機能するはずです。