在 Go 中,您可以使用 pq 套件將行從 STDIN 匯入到 PostgreSQL。以下是逐步解決方案:
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)
}
txn, err := db.Begin()
if err != nil {
log.Fatalf("begin: %v", err)
}
使用 pq.CopyIn() 建立準備好的語句。
stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...))
if err != nil {
log.Fatalf("prepare: %v", err)
}
迭代資料並對每一行執行 stmt.Exec()。
for _, row := range rows {
_, err = stmt.Exec(row.Column1, row.Column2, ...)
if err != nil {
log.Fatalf("exec: %v", err)
}
}
_, err = stmt.Exec()
if err != nil {
log.Fatalf("exec: %v", err)
}
stmt.Close()
err = txn.Commit()
if err != nil {
log.Fatalf("commit: %v", err)
}
此程式碼將有效地將行從 STDIN 匯入至 PostgreSQL 表。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3