Maison > développement back-end > Golang > le corps du texte

Comment importer des données de STDIN vers PostgreSQL à l'aide du package pq de Go ?

Linda Hamilton
Libérer: 2024-10-24 18:34:31
original
901 Les gens l'ont consulté

How to Import Data from STDIN to PostgreSQL Using Go's pq Package?

Comment importer des lignes vers Postgresql depuis STDIN ? [duplicata]

Dans Go, vous pouvez importer des lignes vers PostgreSQL depuis STDIN à l'aide du package pq. Voici une solution étape par étape :

Étape 1 : Préparer la connexion à la base de données

<code class="go">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)
}</code>
Copier après la connexion

Étape 2 : Démarrer une transaction

<code class="go">txn, err := db.Begin()
if err != nil {
    log.Fatalf("begin: %v", err)
}</code>
Copier après la connexion

Étape 3 : Préparer l'instruction Copy

Utilisez pq.CopyIn() pour créer une instruction préparée.

<code class="go">stmt, err := txn.Prepare(pq.CopyIn("test_table", "column1", "column2", ...))
if err != nil {
    log.Fatalf("prepare: %v", err)
}</code>
Copier après la connexion

Étape 4 : Exécutez l'instruction Copy

Parcourez vos données et exécutez stmt .Exec() pour chaque ligne.

<code class="go">for _, row := range rows {
    _, err = stmt.Exec(row.Column1, row.Column2, ...)
    if err != nil {
        log.Fatalf("exec: %v", err)
    }
}</code>
Copier après la connexion

Étape 5 : Exécuter la déclaration de copie finale

<code class="go">_, err = stmt.Exec()
if err != nil {
    log.Fatalf("exec: %v", err)
}</code>
Copier après la connexion

Étape 6 : Fermer la déclaration et valider la transaction

<code class="go">stmt.Close()
err = txn.Commit()
if err != nil {
    log.Fatalf("commit: %v", err)
}</code>
Copier après la connexion

Ce code importera efficacement les lignes de STDIN vers votre table PostgreSQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!