sql >> データベース >  >> RDS >> Mysql

node-1つのクエリでのmysqlの複数のステートメント

    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を有効にしている場合 、最初のコードが機能するはずです。



    1. CriteriaQueryの月と年のフィルター

    2. SQLiteビューの作成

    3. 並行トランザクションでの更新の喪失の問題

    4. Ubuntuでpostgresqlを完全にパージして再インストールする方法は?