Wie kann ich Daten mit unbekannten Spaltentypen im SQL-Paket von Go abfragen?

Barbara Streisand
Freigeben: 2024-11-03 01:57:02
Original
238 Leute haben es durchsucht

How Can I Query Data With Unknown Column Types in Go's SQL Package?

Untersuchen von Ad-hoc-Abfragen im SQL-Paket von Go

Während die Dokumentation darauf hinweist, dass das Abfragen von Daten in Go mithilfe des SQL-Pakets die Kenntnis der Spaltenanzahl und erfordert Typen zur Kompilierzeit, das ist nicht unbedingt richtig. Der Typ sql.Rows bietet eine Lösung für flexible und Ad-hoc-SQL-Abfragen.

Dynamischer Spaltenmetadatenabruf

Die Columns-Methode in sql.Rows stellt eine Liste der bereit Ergebnisspaltennamen. Dadurch können Sie die Anzahl der von einer beliebigen Abfrage zurückgegebenen Spalten dynamisch bestimmen.

Scannen unbekannter Datentypen

Die Scan-Methode unterstützt das Scannen von Werten unbekannter Typen in entweder a Rohbyte-Slice (*[]Byte) oder ein Interface{}-Wert. Dadurch können Sie Spaltendaten abrufen, ohne ihren Typ vorab zu definieren.

Arbeiten mit Ad-hoc-Abfragen

Durch die Kombination dieser Techniken können Sie Ad-hoc-Abfragen ausführen und Daten abrufen in ein Slice von Interface{}-Werten:

<code class="go">columnNames, err := rows.Columns()
if err != nil {
    // Handle error
}
columns := make([]interface{}, len(columnNames))
columnPointers := make([]interface{}, len(columnNames))
for i := 0; i < len(columnNames); i++ {
    columnPointers[i] = &columns[i]
}
if err := rows.Scan(columnPointers...); err != nil {
    // Handle error
}</code>
Nach dem Login kopieren

Danach enthält das Spalten-Slice die decodierten Werte für alle Spalten in der Ergebniszeile. Durch die Nutzung der Columns- und Scan-Methoden können Sie Ad-hoc-Abfragen im SQL-Paket von Go effektiv verarbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich Daten mit unbekannten Spaltentypen im SQL-Paket von Go abfragen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!