Maison >développement back-end >Golang >Comment puis-je utiliser pq.Array pour transmettre des tranches entières comme arguments dans les requêtes SQL ?

Comment puis-je utiliser pq.Array pour transmettre des tranches entières comme arguments dans les requêtes SQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-10 02:11:08153parcourir

How Can I Use pq.Array to Pass Integer Slices as Arguments in SQL Queries?

Incorporation d'arguments de tranche dans les requêtes SQL avec pq.Array

Lorsque vous tentez d'exécuter une requête SQL qui inclut une tranche d'entiers comme arguments, les utilisateurs peuvent rencontrer l'erreur : "sql : conversion de l'argument $1 type : type non pris en charge []int, une tranche d'int." Pour surmonter ce problème, la fonction pq.Array peut être utilisée.

Problème :

Considérez le code suivant :

somevars := []int{1, 2, 3, 4}
rows, err := db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)

Exécuter ceci la requête renvoie l'erreur : "sql : conversion de l'argument $1 type : type non pris en charge []int, une tranche de int."

Solution :

Pour résoudre ce problème, pq.Array peut être utilisé pour encapsuler la tranche d'entiers dans un seul argument :

somevars := []int{1, 2, 3, 4}
rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))

La fonction pq.Array convertit la tranche d'entiers en représentation matricielle, lui permettant d'être correctement gérée par la requête SQL. En utilisant pq.Array, les arguments de tranche peuvent être incorporés sans effort dans les requêtes SQL, résolvant ainsi le message d'erreur.

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