Heim > Backend-Entwicklung > Golang > Wie kann ich pq.Array verwenden, um Integer-Slices als Argumente in SQL-Abfragen zu übergeben?

Wie kann ich pq.Array verwenden, um Integer-Slices als Argumente in SQL-Abfragen zu übergeben?

Barbara Streisand
Freigeben: 2024-12-10 02:11:08
Original
143 Leute haben es durchsucht

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

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage