В Go вы можете импортировать строки в PostgreSQL из STDIN с помощью пакета pq. Вот пошаговое решение:
import (
"database/sql"
"github.com/lib/pq"
)
db, err := sql.Open("postgres", "dbname=mydb user=myuser password=mypassword")
if err != nil {
log.Fatalf("open: %v", err)
}
txn, err := db.Begin()
if err != nil {
log.Fatalf("begin: %v", err)
}
Используйте pq.CopyIn() для создания подготовленного оператора.
stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...))
if err != nil {
log.Fatalf("prepare: %v", err)
}
Пройдитесь по данным и выполните stmt.Exec() для каждой строки.
for _, row := range rows {
_, err = stmt.Exec(row.Column1, row.Column2, ...)
if err != nil {
log.Fatalf("exec: %v", err)
}
}
_, err = stmt.Exec()
if err != nil {
log.Fatalf("exec: %v", err)
}
stmt.Close()
err = txn.Commit()
if err != nil {
log.Fatalf("commit: %v", err)
}
Этот код эффективно импортирует строки из STDIN в вашу таблицу PostgreSQL.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3