首頁 >後端開發 >Golang >如何使用 pq.Array 將整數切片作為 SQL 查詢中的參數傳遞?

如何使用 pq.Array 將整數切片作為 SQL 查詢中的參數傳遞?

Barbara Streisand
Barbara Streisand原創
2024-12-10 02:11:08143瀏覽

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

使用pq.Array 將切片參數合併到SQL 查詢中

嘗試執行包含整數切片作為參數的SQL 查詢時,使用者可能會遇到錯誤:「sql:轉換參數$1 類型:不支援的型別[]int,int 切片。」為了解決這個問題,可以使用pq.Array 函數。

問題:

考慮以下程式碼:

somevars := []int{1, 2, 3, 4}
rows, err := db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)

執行此程式碼查詢產生錯誤:「sql:轉換參數$1 類型:不支援的類型[]int,切片int."

解:

要解決這個問題,可以使用pq.Array 將整數切片封裝到單一參數中:

somevars := []int{1, 2, 3, 4}
rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))

pq.Array 函數將整數切片轉換為陣列表示形式,使其能夠由SQL 查詢正確處理。透過使用 pq.Array,可以輕鬆地將切片參數合併到 SQL 查詢中,從而解決錯誤訊息。

以上是如何使用 pq.Array 將整數切片作為 SQL 查詢中的參數傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn