ホームページ > 記事 > ウェブフロントエンド > pg-promise は PostgreSQL で複数行の挿入を効率的に処理するにはどうすればよいですか?
pg-promise による複数行の挿入
単一のクエリ内で複数の行を挿入することは、一括操作の効率的なアプローチです。 Pg-promise は、配列ベースのメカニズムを通じて複数行の挿入をシームレスにサポートします。
複数行の挿入構文
複数の行を挿入するには、それらを定義できます。オブジェクトの配列として、各オブジェクトは行を表します:
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];
複数行の挿入クエリを生成するには、pgp.helpers 名前空間の挿入ヘルパーを利用します:
const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'}); const query = insert(values, cs);
これにより、次のクエリが生成されます:
INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')
クエリ実行
生成されたクエリは none メソッドを使用して実行できます:
await db.none(query);
動的 SQL 名と SQL インジェクション保護
Pg-promise は、文字列補間ではなく、クエリ パラメーターにプレースホルダー ($1、$2 など) を使用します。このアプローチでは、ライブラリがクエリを構築する前にパラメータをサニタイズするため、SQL インジェクションの脆弱性が防止されます。
追加メモ
要約すると、pg-promise は、複数行の挿入を実行し、データの整合性とパフォーマンス効率を確保するための堅牢なソリューションを提供します。最適な結果を得るには、挿入ヘルパーと動的 SQL 名を利用します。
以上がpg-promise は PostgreSQL で複数行の挿入を効率的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。