Maison > développement back-end > Golang > Comment interroger MySQL avec une tranche d'identifiants à l'aide de SQLx ?

Comment interroger MySQL avec une tranche d'identifiants à l'aide de SQLx ?

DDD
Libérer: 2024-12-05 12:34:10
original
900 Les gens l'ont consulté

How to Query MySQL with a Slice of IDs Using SQLx?

Utilisation de SQLx pour interroger MySQL pour les valeurs dans une tranche

Lors de l'interrogation d'une table MySQL pour les valeurs contenues dans une tranche, les utilisateurs peuvent rencontrer une erreur similaire à :

sql: converting Exec argument #0's type: unsupported type []int, a slice
Copier après la connexion

Ce problème survient car SQLx ne prend pas automatiquement en charge les requêtes avec une tranche comme argument. Cependant, il apporte une solution grâce à sa fonction In().

Solution avec In()

Pour résoudre cette erreur, les étapes suivantes peuvent être suivies :

  1. Préparez la requête en utilisant In() pour inclure la tranche comme argument :

    query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
    if err != nil {
     log.Fatal(err)
    }
    Copier après la connexion
  2. Relier la requête pour la rendre compatible avec le backend de la base de données :

    query = database.SQL.Rebind(query)
    Copier après la connexion
  3. Exécutez la requête en utilisant Select() :

    err = database.SQL.Select(&quotes, query, args...)
    Copier après la connexion

Combinaison en une seule ligne

L'ensemble du processus peut être simplifié en un seul line :

err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)
Copier après la connexion

Ressources

Pour des exemples et de la documentation supplémentaires, veuillez vous référer au site Web officiel de SQLx : http://jmoiron.github.io/sqlx/

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