Maison > développement back-end > Golang > Comment corriger les inadéquations du nombre de colonnes dans les insertions groupées GORM ?

Comment corriger les inadéquations du nombre de colonnes dans les insertions groupées GORM ?

DDD
Libérer: 2024-11-23 05:22:15
original
1000 Les gens l'ont consulté

How to Fix Column Count Mismatches in GORM Bulk Inserts?

Résolution de l'inadéquation du nombre de colonnes dans l'insertion groupée avec GORM

Dans votre requête d'insertion groupée utilisant GORM, vous avez rencontré une erreur due à une incompatibilité dans nombre de colonnes. Cette erreur se produit car vous tentez de transmettre un tableau d'interface en tant qu'argument unique, ce qui entraîne une requête non valide.

Pour résoudre ce problème, vous devez utiliser la syntaxe de paramètre variadique (...). Cette syntaxe vous permet de transmettre les éléments d'une tranche individuellement à une fonction, plutôt que de transmettre la tranche elle-même. Dans le cas de votre requête d'insertion groupée, vous pouvez l'utiliser comme suit :

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

En ajoutant ..., vous informez le compilateur que vous avez l'intention de transmettre chaque élément de vals individuellement. Cela génère la chaîne de requête souhaitée :

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

Considérations supplémentaires :

  • N'oubliez pas de vérifier les erreurs renvoyées par Tx.Exec() et de les gérer en conséquence .
  • Assurez-vous que le nombre d'éléments dans vals correspond au nombre d'espaces réservés (?) dans votre requête chaîne.

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