首頁 > web前端 > js教程 > 如何使用pg-promise高效實現多行插入?

如何使用pg-promise高效實現多行插入?

Barbara Streisand
發布: 2024-10-30 13:53:26
原創
939 人瀏覽過

How to Achieve Multi-Row Inserts with Efficiency Using pg-promise?

使用pg-promise 進行多行插入

問題陳述:

問題陳述:

如何在pg-promise 中使用單一INSERT 查詢有效地將多行插入資料庫?

解決方案:
<code class="javascript">const {ColumnSet, insert} = pgp.helpers;

const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'});
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];

const query = insert(values, cs);
// => INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')

await db.none(query);</code>
登入後複製

pg-promise 中的首選方法是使用助理命名空間以實現高效能和靈活性。

  • 其他注意事項:
  • 應靜態建立 ColumnSet 物件以快取格式範本以獲得最佳效能。
此多行插入是無交易的,這表示將插入所有值或不插入任何值。

透過使用助理命名空間與 SQL 名稱結合來提供 SQL 注入保護。

  • 額外:
  • 要取得每個新記錄的ID,請將RETURNING id 附加到查詢並使用db.many() 執行。
要插入大型資料集,請考慮利用資料導入功能。 您可以將查詢產生封裝在函數中以增強錯誤處理。

以上是如何使用pg-promise高效實現多行插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板