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

go-sql-driver/mysql - 将 float64 插入 mariadb (双列)

go-sql-driver/mysql - 将 float64 插入 mariadb (双列)

Go
料青山看我应如是 2023-07-17 14:56:54
我是 Go 新手,几天前我刚刚开始学习它的并发性:-)。我有一个不同的库,它返回 time.Duration 类型,其中包含 Seconds,这是一个我想使用并存储在数据库中的 float64 精度值。以下是与我想要实现的目标相关的点点滴滴:type pResp struct {    address string    rtt     time.Duration    sent    int    recv    int}stmt, err := db.Prepare("insert pings set domain = ?, packet_rtt = ?, packets_sent = ?, packets_recv = ?")res, err := stmt.Exec(r.address, r.rtt.Seconds, r.sent, r.recv)这是我得到的错误:2019/08/26 19:57:35 sql: converting argument $2 type: unsupported type func() float64, a funcProcess exiting with code: 0MySQL 中的列设置为 double,应该是 64 位...我不确定这里哪里出了问题。这是我正在使用的库的限制吗?谢谢。
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

看来您传递的是一流函数func() float64而不是实际的 float64 原语。该函数的源代码看起来是r.rtt.Seconds,应该作为 来调用r.rtt.Seconds()

查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

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