Maison > développement back-end > Golang > Comment utiliser correctement les paramètres variadiques avec « Exec » de Gorm pour les insertions en masse dans Go ?

Comment utiliser correctement les paramètres variadiques avec « Exec » de Gorm pour les insertions en masse dans Go ?

DDD
Libérer: 2024-11-25 20:26:11
original
234 Les gens l'ont consulté

How to Correctly Use Variadic Parameters with Gorm's `Exec` for Bulk Inserts in Go?

Utilisation de paramètres variadiques pour rejoindre l'interface de tableau dans Golang

Lors de votre tentative d'exécution d'insertions groupées à l'aide de Gorm, vous avez rencontré une erreur due à un inadéquation entre le nombre de colonnes et les valeurs fournies. Ce problème provient d'un formatage incorrect de votre requête lors de l'utilisation d'une interface tableau.

Solution :

Pour résoudre ce problème, vous devez utiliser le "..." opérateur lors du passage d’éléments de la tranche à la fonction avec des paramètres variadiques. Cela demandera au compilateur de transmettre chaque élément individuellement au lieu de transmettre la valeur de la tranche comme argument unique.

tx.Exec(sqlStr, vals...)
Copier après la connexion

Explication :

Le Tx.Exec() la fonction a la signature func (tx *Tx) Exec(query string, args ...interface{}) (Résultat, erreur). Cela signifie que vous pouvez transmettre un nombre variable d'arguments comme deuxième paramètre, désigné par args. En utilisant l'opérateur "...", vous demandez au compilateur d'étendre la tranche vals en arguments individuels.

Cela entraînera l'exécution de la requête suivante :

INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal