在 Go 中,您可以使用 pq 包将行从 STDIN 导入到 PostgreSQL。以下是分步解决方案:
<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>
<code class="go">txn, err := db.Begin() if err != nil { log.Fatalf("begin: %v", err) }</code>
使用 pq.CopyIn() 创建准备好的语句。
<code class="go">stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...)) if err != nil { log.Fatalf("prepare: %v", err) }</code>
迭代数据并执行 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>
<code class="go">_, err = stmt.Exec() if err != nil { log.Fatalf("exec: %v", err) }</code>
<code class="go">stmt.Close() err = txn.Commit() if err != nil { log.Fatalf("commit: %v", err) }</code>
此代码将有效地将行从 STDIN 导入到您的 PostgreSQL 表。
以上是如何使用 Go 的 pq 包将数据从 STDIN 导入到 PostgreSQL?的详细内容。更多信息请关注PHP中文网其他相关文章!