无法使用Golang在Postgres中更新带有时区的时间戳。

huangapple go评论107阅读模式
英文:

Cannot update the timestamp with timezone in postgres using golang

问题

我正在使用golang和PostgreSQL 9.5.5版本开发我的应用程序。我使用"github.com/lib/pq"作为我的数据库驱动程序来连接数据库。我的一个字段的类型是带有时区的时间戳。我想要将其更新为当前时间。所以我使用了以下代码:

注意:我使用beego作为我的框架,并使用orm来执行查询。

_, err := o.Raw("UPDATE leave SET resultdate=? WHERE leaveid=?", time.Now(), leaveResult.LeaveId).Exec()

当我执行这段代码时,我得到了以下错误:

"pq: invalid input syntax for type timestamp with time zone: \"09:24:29\""

希望能得到帮助。

英文:

I am using golang and postgreSQL version 9.5.5 in my application. I am using "github.com/lib/pq" as my database driver to connect to the database. One of my fields have the type timestamp with timezone. I would like to update to the current time. So I used the following code:

> Note:I m using beego as my framework and use orm to compute my
> queries.

_, err := o.Raw("UPDATE leave SET resultdate=? WHERE leaveid=?",  time.Now(), leaveResult.LeaveId).Exec()

When I execute this I'm getting the following error:

"pq: invalid input syntax for type timestamp with time zone: \"09:24:29\""

Appreciate any help.

答案1

得分: 5

DB很可能期望不同的日期/时间格式,例如RFC3339。尝试使用time.Now().Format(time.RFC3339)来保存,而不是直接使用time.Now()。

英文:

High probability that DB expects a different date/time format. For example RFC3339. Try saving instead of time.Now() with time.Now().Format(time.RFC3339)

huangapple
  • 本文由 发表于 2016年12月6日 09:37:37
  • 转载请务必保留本文链接:https://go.coder-hub.com/40986407.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定