Heim > Backend-Entwicklung > Golang > Wie verwende ich die Funktion „In()' von SQLx, um MySQL mit einem ID-Slice abzufragen?

Wie verwende ich die Funktion „In()' von SQLx, um MySQL mit einem ID-Slice abzufragen?

Susan Sarandon
Freigeben: 2024-11-28 09:54:10
Original
761 Leute haben es durchsucht

How to Use SQLx's `In()` Function to Query MySQL with a Slice of IDs?

Verwenden von SQLx zum Abfragen von MySQL mit IN aus einem Slice

In SQLx besteht die Notwendigkeit, eine Tabelle mit in einem Slice gespeicherten Werten abzufragen. Dies kann durch die Verwendung der In()-Hilfsfunktion erreicht werden.

Codebeispiel

Um den angegebenen Fehler zu beheben, kann das folgende Codefragment verwendet werden:

var qids []int

// Populate qids dynamically

query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
if err != nil {
    log.Fatal(err)
}

database.SQL := sqlx.MustConnect("driver_name", "dsn")
query = database.SQL.Rebind(query)  // Assuming database.SQL is a *sqlx.DB

err = database.SQL.Select(&quotes, query, args...)
if err != nil {
    log.Fatal(err)
}
Nach dem Login kopieren

Funktionalitäten

  • Die In()-Funktion bereitet die Abfrage vor, indem sie die Argumente übernimmt und erneut bindet sie.
  • Rebind() konvertiert die Abfrage, um die entsprechenden Bind-Variablen für das spezifische Datenbank-Backend zu verwenden.
  • Durch die Kombination von In() und Rebind() wird die Abfrage vorbereitet und für die Ausführung optimiert .

Zusätzliche Ressourcen

Zur weiteren Referenz dient die folgende Dokumentation empfohlen:

  • SQLx-Dokumentation: http://jmoiron.github.io/sqlx/
  • In()-Funktionsdokumentation: https://godoc.org/github.com/ jmoiron/sqlx#In
  • Rebind()-Funktionsdokumentation: https://godoc.org/github.com/jmoiron/sqlx#Rebind

Das obige ist der detaillierte Inhalt vonWie verwende ich die Funktion „In()' von SQLx, um MySQL mit einem ID-Slice abzufragen?. 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