Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur « 10 arguments attendus, obtenu 1 » lors de l'insertion groupée dans Postgres à l'aide de Go avec pgx ?

Comment résoudre l'erreur « 10 arguments attendus, obtenu 1 » lors de l'insertion groupée dans Postgres à l'aide de Go avec pgx ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 00:47:02869parcourir

How to Resolve

Insertion groupée dans Postgres à l'aide de Go avec pgx

Lors de la tentative d'insertion groupée dans une base de données PostgreSQL à l'aide de Go et de la bibliothèque pgx, un message d'erreur "attendu 10 des arguments, got 1" peuvent être rencontrés. Ce problème est dû à des incohérences dans la construction de l'instruction SQL.

Pour résoudre ce problème, il est recommandé d'utiliser la méthode pgx.Conn.CopyFrom au lieu de créer manuellement l'instruction SQL. CopyFrom utilise le protocole de copie PostgreSQL pour une insertion de données en masse efficace.

<code class="go">rows := [][]interface{}{
    {"abc", 10},
    {"dns", 11},
    {"qwe", 12},
    {"dss", 13},
    {"xcmk", 14},
}

copyCount, err := conn.CopyFrom(
    pgx.Identifier{"keys"},
    []string{"keyval", "lastval"},
    pgx.CopyFromRows(rows),
)</code>

En employant cette approche, pgx gérera automatiquement la génération et l'exécution des instructions SQL, garantissant une insertion en masse efficace et fiable.

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