在这种情况下,您有一个 CSV 文件,其中包含要批量插入到 PostgreSQL 表中的数据使用 Go 和 GORM ORM,而不使用 for 循环或 SQL 原始查询。
可以利用 pgx 库来完成此任务,如以下代码片段所示:
<code class="go">package main import ( "context" "database/sql" "fmt" "os" "github.com/jackc/pgx/v4/pgxpool" ) func main() { filename := "foo.csv" dbconn, err := pgxpool.Connect(context.Background(), os.Getenv("DATABASE_URL")) if err != nil { panic(err) } defer dbconn.Close() f, err := os.Open(filename) if err != nil { panic(err) } defer func() { _ = f.Close() }() res, err := dbconn.Conn().PgConn().CopyFrom(context.Background(), f, "COPY csv_test FROM STDIN (FORMAT csv)") if err != nil { panic(err) } fmt.Print(res.RowsAffected()) }</code>
In此代码:
以上是如何使用 Go、GORM 和 pgx 库无循环地将 CSV 数据批量插入 PostgreSQL?的详细内容。更多信息请关注PHP中文网其他相关文章!