このシナリオでは、PostgreSQL テーブルに一括挿入するデータを含む CSV ファイルがあります。 for ループや SQL 生クエリを使用せずに、Go と GORM ORM を使用します。
次のコード スニペットに示すように、このタスクには 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 中国語 Web サイトの他の関連記事を参照してください。