corresponding parameter is non-variadic我有一些字符串變量和一個(gè)切片變量作為 golang 中的 SQL 參數(shù),但是當(dāng)我嘗試執(zhí)行時(shí)返回錯(cuò)誤。那么在這種情況下我該如何綁定這些變量呢?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 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于您有固定數(shù)量的參數(shù)和一個(gè)可變參數(shù),因此您必須將它們?nèi)渴占揭粋€(gè)數(shù)組中,然后傳遞它們,因?yàn)?go 可變參數(shù)無法處理您想要執(zhí)行的操作:
args:=[]interface{}{foo,baz,bar}
for _,x:=range pars {
args=append(args,x)
}
tx.Exec(stmt,args...)
- 1 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)
0/150
提交
取消