为了账号安全,请及时绑定邮箱和手机立即绑定

使用 mysql 驱动程序在 golang 中使用参数执行查询时出错

使用 mysql 驱动程序在 golang 中使用参数执行查询时出错

Go
慕姐8265434 2022-08-01 10:42:55
我创建了一个在mysql数据库上执行查询的func。我使用此包“github.com/go-sql-driver/mysql”但是如果我运行这个:...err := database.ExecuteSql("INSERT INTO xxx(field1, field2, field3) VALUES(?, ?, ?)", "field1", 123, time.Now())...func ExecuteSql(cmd string, , args ...interface{}) error {  ctx := context.Background()  _, err := db.ExecContext(ctx, cmd, args)  ctx.Done()  ...}它返回我“sql:转换参数$1类型:不受支持的类型[]接口{},接口的切片”
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

当您像这样执行该方法时:

_, err := db.ExecContext(ctx, cmd, args)

您只作为一个参数传递。不支持将切片作为方法的参数,除非其 .args[]interface{}ExecContext[]byte

您需要将解包运算符与 :args

_, err := db.ExecContext(ctx, cmd, args...)


查看完整回答
反对 回复 2022-08-01
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信