首頁 > 後端開發 > Golang > 如何使用 SQLx 的 In() 函數透過 ID 切片查詢 MySQL?

如何使用 SQLx 的 In() 函數透過 ID 切片查詢 MySQL?

Susan Sarandon
發布: 2024-11-28 09:54:10
原創
710 人瀏覽過

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

使用 SQLx 透過切片中的 IN 查詢 MySQL

在 SQLx 中,需要查詢儲存在切片中的值的表。這可以透過利用 In() 輔助函數來實現。

程式碼範例

要解決給定的錯誤,可以使用以下程式碼片段:

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)
}
登入後複製

功能

  • In() 函數透過取得參數並重新綁定來準備查詢
  • Rebind()將查詢轉換為針對特定資料庫後端使用適當的綁定變數。
  • 透過組合In() 和Rebind(),準備好查詢並優化執行.

其他資源

為了進一步參考,以下文件是推薦:

  • SQLx文件:http://jmoiron.github.io/sqlx/
  • In() 函數文件:https://godoc.org/github.com/ jmoiron/sqlx#In
  • Rebind () 函數文件: https://godoc.org/github.com/jmoiron/sqlx#Rebind

以上是如何使用 SQLx 的 In() 函數透過 ID 切片查詢 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板