Maison >développement back-end >Golang >Comment utiliser correctement les requêtes LIKE avec des valeurs paramétrées dans le pilote pq PostgreSQL de Go ?
Requête Go postgresql LIKE avec valeur paramétrée
Dans Go, lorsque vous travaillez avec le pilote pq pour PostgreSQL, il est nécessaire de garantir un formatage correct de requêtes impliquant des clauses LIKE. Un problème courant rencontré lors de la tentative d'utilisation de l'opérateur LIKE est une erreur de syntaxe indiquant un caractère non valide au niveau ou à proximité du symbole de pourcentage ("%").
Pour résoudre ce problème, le modèle LIKE doit être entouré d'un seul guillemets lorsqu’ils sont passés en paramètre. Cela garantit que les caractères spéciaux sont interprétés correctement par la base de données PostgreSQL. La requête mise à jour ci-dessous inclut cette correction :
query := `SELECT p.id, p.name, p.description, p.price, p.image, p.rate FROM products AS p WHERE LOWER(p.name) LIKE '%' || || '%' ORDER BY p.rate DESC;`
Dans cette requête, le modèle LIKE est placé entre guillemets simples et concaténé avec le paramètre $1 à l'aide du || opérateur. Cela garantit que la base de données interprète le modèle comme une chaîne et non comme un caractère spécial.
Avec cette modification, la requête devrait s'exécuter avec succès dans PostgreSQL. Il trouvera les produits dont les noms correspondent au modèle spécifié et classera les résultats par ordre décroissant de leur note.
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!