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

Comment puis-je insérer directement une structure dans une base de données PostgreSQL à l'aide de SQLx ?

Linda Hamilton
Libérer: 2024-10-31 00:40:29
original
631 Les gens l'ont consulté

How Can I Directly Insert a Struct into a PostgreSQL Database Using SQLx?

Insérer directement une structure dans une base de données PostgreSQL

Introduction

Dans votre scénario, où votre structure comporte de nombreux champs, l'insertion manuelle des données une par une peut être fastidieuse. Cet article explique comment insérer directement une structure entière dans une base de données PostgreSQL à l'aide de la bibliothèque "sqlx".

Utiliser SQLx pour insérer une structure

La bibliothèque "sqlx" fournit un moyen pratique d’interagir avec votre base de données. Il prend en charge la fonction "NamedExec", qui vous permet de transmettre facilement une structure comme argument pour insérer des données.

Définition des balises de base de données

Pour utiliser "NamedExec", vous vous devez définir des balises "db" pour chaque champ de votre structure. Ces balises spécifient les noms de colonnes correspondants dans votre table de base de données.

Exemple :

<code class="go">type ApplyLeave1 struct {
    LeaveId           int       `db:"leaveid"`
    EmpId             string    `db:"empid"`
    SupervisorEmpId   string    `db:"supervisorid"`
}</code>
Copier après la connexion

Insertion de la structure

Une fois vos balises définies, vous pouvez utiliser "NamedExec" pour insérer vos données :

<code class="go">db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")
if err != nil {
    log.Fatalln(err)
}

query := `INSERT INTO TABLENAME(leaveid, empid, supervisorid) 
          VALUES(:leaveid, :empid, :supervisorid)`

var leave1 ApplyLeave1
_, err = db.NamedExec(query, leave1)
if err != nil {
    log.Fatalln(err)
}</code>
Copier après la connexion

En utilisant "NamedExec", vous pouvez facilement insérer l'intégralité de la structure dans votre base de données en une seule fois, réduisant ainsi le besoin de insertions manuelles répétitives.

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.cn
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!