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
DDDoriginal
2024-11-23 05:22:151063parcourir

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...)

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')

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!

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