database - 使用golang从postgres中的csv批量插入而不使用for循环

我是 Golang 的新手,

  • 我有一个 csv 文件,其中的数据如下所示
field1,field2
1.1,2
1.2,3
1.3,2
  • 我想在不使用 for 循环的情况下使用 golang 将所有 csv 数据插入到 db 表中..我正在使用 postgres 数据库

也不想使用sql原始查询

我正在使用 gorm ORM

最佳答案

您可以使用 pgx图书馆:

    filename := "foo.csv"
    dbconn, err := pgx.Connect(context.Background(), os.Getenv("DATABASE_URL"))
    if err != nil {
        panic(err)
    }
    defer dbconn.Release()
    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())

https://stackoverflow.com/questions/66779332/

相关文章:

c++ - 为什么C++语言的malloc函数前面要写指针类型?

postgresql - 我想用 mikro-orm 插入,但它找不到我的表 :c (TableNo

git - 使用 git rev-parse 的错误提交哈希

c++ - 如果 new 运算符失败,是否可以将指针设置为 null?

.net-core - Cake Clean 任务在蛋糕构建时被跳过

html - 将样式添加到 mat-autocomplete 的 mat-option

r - 合并和删除*文件之间的冗余行

github - 如何在两个句子之间添加 Git Readme 中的 Tab 空格?

python - 如何在 Python 中将月份名称生成为列表?

regex - 为电话号码编写正则表达式