Maison >développement back-end >Golang >Comment puis-je insérer directement une structure dans une base de données PostgreSQL à l'aide de SQLx ?

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

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 00:40:29701parcourir

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>

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>

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!

Déclaration:
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