dshxbrzgi090608692 2018-05-09 17:17
浏览 715
已采纳

使用gorm在sqlite中的时间列

I am trying to query objects from sqlite but getting this error because of the type time:

(sql: Scan error on column index 1: unsupported Scan, storing driver.Value type []uint8 into type *time.Time)

my struct is:

type Timeline struct {
ID        string     `json:"id"`
Timestamp *time.Time `json:"timestamp"`

and my database is like this:

CREATE TABLE timelines (id text, timestamp text, ...

and one of the sample rows is:

('Locked in VR', '2018-03-17 10:50:59.548+01:00',...

any ideas? should I have something in the struct like?

Timestamp *time.Time `json:"timestamp" gorm:"time"`
  • 写回答

2条回答 默认 最新

  • dop82210 2018-05-09 19:39
    关注

    I am not familiar with gorm, but should not the definition of timestamp of type datetime instead of text? Also: when you tag gorm:"time" the column name should be time and not timestamp, or the tag gorm:"timestamp". But you can leave out the gorm tag.

    To make it simple, you can let gorm create the table:

    db, err := gorm.Open("sqlite3", "test.db")
    db.CreateTable(&Timeline{})
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Pythontxt文本可视化
  • ¥15 如何基于Ryu环境下使用scapy包进行数据包构造
  • ¥15 springboot国际化
  • ¥15 搭建QEMU环境运行OP-TEE出现错误
  • ¥15 Minifilter文件保护
  • ¥15 有限元软件终止时间超过设定值
  • ¥15 onvif框架引用一直报错
  • ¥50 C#和C++混合编程,使用CLR托管,报错System.Runtime.InteropServices.SEHException
  • ¥30 .NET使用sqlite发布后报错
  • ¥15 Unity在WebGL平台导出Word报错问题