Heim >Backend-Entwicklung >Golang >Wie kann ich pq.Array verwenden, um Integer-Slices als Argumente in SQL-Abfragen zu übergeben?
Einbinden von Slice-Argumenten in SQL-Abfragen mit pq.Array
Beim Versuch, eine SQL-Abfrage auszuführen, die ein Slice von Ganzzahlen als Argumente enthält, Benutzer stoßen möglicherweise auf den Fehler: „SQL: Argumenttyp $1 wird konvertiert: nicht unterstützter Typ []int, ein Teil von int.“ Um dieses Problem zu lösen, kann die pq.Array-Funktion verwendet werden.
Problem:
Betrachten Sie den folgenden Code:
somevars := []int{1, 2, 3, 4} rows, err := db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)
Führen Sie dies aus Die Abfrage ergibt den Fehler: „SQL: Argument $1 konvertieren Typ: nicht unterstützter Typ []int, ein Teil davon int."
Lösung:
Um dieses Problem zu lösen, kann pq.Array verwendet werden, um das Segment der Ganzzahlen in einem einzigen Argument zu kapseln:
somevars := []int{1, 2, 3, 4} rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))
Die pq.Array-Funktion wandelt das Ganzzahlsegment in eine Array-Darstellung um, sodass es von der SQL-Abfrage korrekt verarbeitet werden kann. Durch die Verwendung von pq.Array können Slice-Argumente mühelos in SQL-Abfragen integriert werden und so die Fehlermeldung auflösen.
Das obige ist der detaillierte Inhalt vonWie kann ich pq.Array verwenden, um Integer-Slices als Argumente in SQL-Abfragen zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!