在MySQL 表中查詢切片中包含的值時,使用者可能會遇到類似下列錯誤:
sql: converting Exec argument #0's type: unsupported type []int, a slice
出現此問題是因為SQLx 本身不支援使用切片作為參數來查詢。不過,它透過 In() 函數提供了解決方案。
要解決此錯誤,可以採取以下步驟:
使用 In()準備查詢以將切片包含為參數:
query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids) if err != nil { log.Fatal(err) }
重新綁定查詢以使其與資料庫後端相容:
query = database.SQL.Rebind(query)
使用Select(執行查詢):
err = database.SQL.Select(&quotes, query, args...)
整個過程可以簡化為一行:
err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)
更多範例和文檔,請參考SQLx 官方網站: http://jmoiron.github.io/sqlx/
以上是如何使用 SQLx 透過 ID 切片查詢 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!