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 ?
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!