1 回答

TA貢獻1796條經驗 獲得超4個贊
要回答這個問題。提供的上下文還不夠。但我會添加一些答案。
您可以迭代“listOf”映射并為每個項目構建單獨的查詢并在數據庫中執行。或者迭代map并追加“itemIds”分別查詢comman(,)在db中執行。
例 1:
//Your Way
var listOf []map[string]interface{}
listOf = append(listOf, map[string]interface{}{})
listOf[0]["1"] = "1"
listOf[0]["3"] = "3"
query2 := "select * from sometable where id= %s"
ids := ""
for _, v := range listOf {
for _, v1 := range v {
// replace logic
if ids == "" {
ids = fmt.Sprintf(`%v`, v1)
continue
}
ids += fmt.Sprintf(`,%v`, v1)
}
}
query2 = fmt.Sprintf(query2, ids) // select * from sometable where id= 3,1
fmt.Println(query2)
例 2:
// Easy Way
listOf := make(map[string]interface{})
listOf["1"] = "1"
listOf["2"] = "2"
query2 := "select * from sometable where id= %s"
ids := ""
for _, v := range listOf {
// replace logic
if ids == "" {
ids = fmt.Sprintf(`%v`, v)
continue
}
ids += fmt.Sprintf(`,%v`, v)
}
query2 = fmt.Sprintf(query2, ids) // select * from sometable where id= 1,2
fmt.Println(query2)
- 1 回答
- 0 關注
- 106 瀏覽
添加回答
舉報