„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Daten mit unbekannten Spaltentypen im SQL-Paket von Go abfragen?

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

Veröffentlicht am 22.12.2024
Durchsuche:786

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 Segment von Interface{}-Werten:

columnNames, err := rows.Columns()
if err != nil {
    // Handle error
}
columns := make([]interface{}, len(columnNames))
columnPointers := make([]interface{}, len(columnNames))
for i := 0; i 

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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3