我正在使用Postgres作为数据库。 我有一个结构Golang gorm时间数据类型转换
type Building struct {
ID int `json:"id,omitempty"`
Name string `gorm:"size:255" json:"name,omitempty"`
Lon string `gorm:"size:64" json:"lon,omitempty"`
Lat string `gorm:"size:64" json:"lat,omitempty"`
StartTime time.Time `gorm:"type:time" json:"start_time,omitempty"`
EndTime time.Time `gorm:"type:time" json:"end_time,omitempty"`
}
然而,当我尝试这个结构插入到数据库“解析时间‘’10:00:00”,”如‘’2006-01-02T15:04:05Z07:00" “:can not parse”0:00“”as“2006”“}
可能它不能识别StartTime和EndTime字段作为时间类型,而是使用Timestamp来代替如何指定这些字段是Time类型?
PS我这是怎么创建
大厦if err = db.Create(&building).Error; err != nil {
return database.InsertResult{}, err
}
建表的3210
SQL代码中提到
DROP TABLE IF EXISTS building CASCADE;
CREATE TABLE building(
id SERIAL,
name VARCHAR(255) NOT NULL ,
lon VARCHAR(31) NOT NULL ,
lat VARCHAR(31) NOT NULL ,
start_time TIME NOT NULL ,
end_time TIME NOT NULL ,
PRIMARY KEY (id)
);
你的代码在我的环境,并能够正确的数据插入到数据库中。从错误消息中可以看出,当你创建'building'时,错误就发生了。你可以粘贴代码吗? –
@ymonad,你能再次检查吗? –
我已经尝试过设置TIME,DATE和TIMESTAMP的start_time和end_time类型,以及所有的作品,至少''time.Now()'。这里是代码:https://gist.github.com/anonymous/5014d44ca999144ff06ffc05aa4acee3 –