Verstehen der LIKE-Abfragesyntax in Go mit PostreSQL
Beim Arbeiten mit Go und PostreSQL unter Verwendung des pq-Treibers können bei der Ausführung Syntaxfehler auftreten LIKE-Abfragen. Dieses Problem entsteht durch das %-Zeichen, das zur Darstellung ähnlicher Muster verwendet wird.
Problem:
Beim Ausführen der folgenden Abfrage tritt ein Syntaxfehler auf:
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
Lösung:
Um diesen Syntaxfehler zu beheben, müssen Sie Folgendes tun Schließen Sie das LIKE-Muster in einfache Anführungszeichen ein:
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;
In dieser überarbeiteten Abfrage schließen wir das Like-Muster %$1% in einfache Anführungszeichen ein, um zu verhindern, dass der Treiber das %-Zeichen als Platzhalter für Parameter interpretiert.
Aktualisierter Go-Code:
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`
Mit diesem Fix kann die Abfrage ausgeführt werden erfolgreich ausgeführt, ohne dass ein Syntaxfehler aufgetreten ist.
Das obige ist der detaillierte Inhalt vonWie verwende ich LIKE-Abfragen mit dem pq-Treiber in Go und PostgreSQL richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!