golang 和 sqlite3 时间类型如何自动转换
golang time.Time
类型和 sqlite3 text
类型或者 integer
类型不能在调用 Scan()
方法时自动转换么?
如果不能,存储时间类型字段最佳实践是什么,是不是不可避免出现中间字段或者需要做手动转换?
我在使用过程中出现如下错误:
sql: Scan error on column index 5, name \"create_time\": unsupported Scan, storing driver.Value type []uint8 into type *time.Time
数据驱动库使用 github.com/mattn/go-sqlite3
, 其中 golang 字段类型为 time.Time
, sqlite3 中字段类型定义为 text
和 integer
都试过了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
https://godoc.org/github.com/...
Go的
time.Time
对应sqlite的timestamp/datetime
,建议在sqlite中用timestamp/datetime
存储时间数据如果还是要用
text
的话,那就用Go的String
来读取,然后再用标准库做转换来获取time.Time
类型:需要再详尽一点的话就看官方文档吧:https://golang.org/pkg/time/#...