Go中可以使用PostgreSQL的“COPY table FROM file”语句吗?

阅读github.com/lib/pq文档后,我仍然不清楚是否可以使用简单的COPY <table> FROM <file> CSV HEADER命令从 CSV 文件中复制数据。


这就是我想要做的:


func CopyFromCSV(con Con, tableName, fileName string) error {

    _, err := con.Exec(fmt.Sprintf("TRUNCATE %s", tableName))

    if err != nil {

        return err

    }


    stm, err := con.Prepare(fmt.Sprintf("COPY %s FROM '%s' CSV HEADER", tableName, fileName))

    if err != nil {

        return err

    }

    defer stm.Close()


    _, err = stm.Exec()

    return err

}

tableName现有表在哪里,以及fileName现有 csv 文件的绝对路径。


con.Prepare通话后我总是收到以下错误:pq: unknown response for copy query: 'C'


是否可以使用github.com/lib/pq驱动程序使用 postgres 数据库在 Go 中执行此操作?


白衣非少年
浏览 367回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go