我创建了一个在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...)
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消