corresponding parameter is non-variadic我有一些字符串變量和一個切片變量作為 golang 中的 SQL 參數,但是當我嘗試執行時返回錯誤。那么在這種情況下我該如何綁定這些變量呢?mysql 連接器:go-sql-driver/mysql假代碼:func UpdateTblNm (foo, baz string, bar int, pars []string) error { stmt:= `update tbl_nm set foo=?, bar=? where baz=? and par in (?`+ strings.Repeat(", ?", len(pars)-1) + `)` if _, err := tx.Exec(stmt, foo, bar, baz, pars...); err!=nil { return err } ... ...}我是 gopher 的新人..希望你的幫助,謝謝
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
由于您有固定數量的參數和一個可變參數,因此您必須將它們全部收集到一個數組中,然后傳遞它們,因為 go 可變參數無法處理您想要執行的操作:
args:=[]interface{}{foo,baz,bar}
for _,x:=range pars {
args=append(args,x)
}
tx.Exec(stmt,args...)
- 1 回答
- 0 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消