Maison >développement back-end >Golang >Comment utiliser correctement les requêtes LIKE avec le pilote pq dans Go et PostgreSQL ?
Comprendre la syntaxe des requêtes LIKE dans Go avec PostreSQL
Lorsque vous travaillez avec Go et PostreSQL à l'aide du pilote pq, vous pouvez rencontrer des erreurs de syntaxe lors de l'exécution COMME les requêtes. Ce problème provient du caractère % utilisé pour représenter des modèles similaires.
Problème :
Vous rencontrez une erreur de syntaxe lors de l'exécution de la requête suivante :
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
Solution :
Pour résoudre cette erreur de syntaxe, vous devez joindre le Modèle LIKE entre guillemets simples :
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 révisée, nous encadrons le modèle similaire %$1% entre guillemets simples pour empêcher le pilote d'interpréter le caractère % comme un caractère générique pour les paramètres.
Code Go mis à jour :
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`
Avec ce correctif, la requête pourra s'exécuter avec succès sans rencontrer l'erreur de syntaxe.
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!