首頁 > 後端開發 > Golang > 主體

如何使用 Go 的 pq 套件將資料從 STDIN 匯入到 PostgreSQL?

Linda Hamilton
發布: 2024-10-24 18:34:31
原創
901 人瀏覽過

How to Import Data from STDIN to PostgreSQL Using Go's pq Package?

如何從 STDIN 將行匯入到 Postgresql? [重複]

在 Go 中,您可以使用 pq 套件將行從 STDIN 匯入到 PostgreSQL。以下是逐步解決方案:

第1 步:準備資料庫連線

<code class="go">import (
    "database/sql"

    "github.com/lib/pq"
)

db, err := sql.Open("postgres", "dbname=mydb user=myuser password=mypassword")
if err != nil {
    log.Fatalf("open: %v", err)
}</code>
登入後複製

第2 步:啟動交易

<code class="go">txn, err := db.Begin()
if err != nil {
    log.Fatalf("begin: %v", err)
}</code>
登入後複製

第3 步:準備Copy語句

使用pq.CopyIn() 建立準備好的語句。

<code class="go">stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...))
if err != nil {
    log.Fatalf("prepare: %v", err)
}</code>
登入後複製

第 4 步:執行 Copy 語句

迭代資料並執行 stmt .Exec() 每行。

<code class="go">for _, row := range rows {
    _, err = stmt.Exec(row.Column1, row.Column2, ...)
    if err != nil {
        log.Fatalf("exec: %v", err)
    }
}</code>
登入後複製

第5 步:執行最終複製語句

<code class="go">_, err = stmt.Exec()
if err != nil {
    log.Fatalf("exec: %v", err)
}</code>
登入後複製

第6 步:關閉語句並提交交易

<code class="go">stmt.Close()
err = txn.Commit()
if err != nil {
    log.Fatalf("commit: %v", err)
}</code>
登入後複製

此程式碼將有效地將行從STDIN 匯入到您的PostgreSQL 表。

以上是如何使用 Go 的 pq 套件將資料從 STDIN 匯入到 PostgreSQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!