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 关注
- 89 浏览
添加回答
举报
0/150
提交
取消