ホームページ > データベース > mysql チュートリアル > Node-MySQL を使用して単一のクエリで複数の SQL ステートメントを実行するにはどうすればよいですか?

Node-MySQL を使用して単一のクエリで複数の SQL ステートメントを実行するにはどうすればよいですか?

DDD
リリース: 2024-12-20 02:30:15
オリジナル
556 人が閲覧しました

How Can I Execute Multiple SQL Statements in a Single Query Using Node-MySQL?

Node-MySQL での複数ステートメント クエリのサポート

Node.js では、単一のクエリで複数の SQL ステートメントを実行するときに問題が発生します。 node-mysql パッケージを使用します。

ユーザーが提供したコードは、4 つのレコードからレコードを削除しようとします。テーブルではセミコロン (;) を使用してステートメントを区切ります。ただし、これにより、SQL 構文にエラーがあることを示すエラーが発生します。

node-mysql ドキュメントでは、当初、SQL インジェクション攻撃につながる可能性があるため、セキュリティ上の理由から複数のステートメントのサポートが無効になっていました。この機能を有効にするには、接続の作成時に multipleStatements を true に設定する必要があります。

var connection = mysql.createConnection({multipleStatements: true});
ログイン後にコピー

これにより、セミコロン区切りを使用して複数のステートメントを実行でき、結果は次の配列になります。各ステートメントに 1 つの要素。

例:

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 を true に設定すると、最初のコードは 1 つのクエリで 4 つの DELETE ステートメントを正常に実行できるようになり、複数のクエリの必要性がなくなり、コードの効率が向上します。

以上がNode-MySQL を使用して単一のクエリで複数の SQL ステートメントを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート