探索Go 的SQL 套件中的臨時查詢
雖然文件顯示使用SQL 套件在Go 中查詢資料需要了解列數和編譯時類型,這並不嚴格正確。 sql.Rows 類型為靈活且即席的 SQL 查詢提供了解決方案。
動態列元資料擷取
sql.Rows 中的 Columns 方法提供了以下清單:結果列名稱。這允許您動態確定任意查詢傳回的列數。
掃描未知資料類型
Scan 方法支援將未知類型的值掃描為原始位元組切片 (*[]byte) 或 interface{} 值。這使您能夠檢索列數據,而無需預先定義其類型。
使用即席查詢
結合這些技術,您可以執行即席查詢並檢索資料放入interface{}值的切片中:
columnNames, err := rows.Columns()
if err != nil {
// Handle error
}
columns := make([]interface{}, len(columnNames))
columnPointers := make([]interface{}, len(columnNames))
for i := 0; i 此後,列切片將包含結果行中所有列的解碼值。透過利用 Columns 和 Scan 方法,您可以有效地處理 Go 的 SQL 套件中的即席查詢。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3