在這種情況下,您有一個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中文網其他相關文章!