gorm:查询时报错:failed to parse '' as default value for int, got error: strconv.ParseInt: parsing "''": invalid syntax
一,报错信息:
1,代码:
//根据id得到一条点击记录
func GetOnePicHitByPid(pid int64) (*model.HitsModel, error) {
fields := []string{"id", "pid", "hits", "addtime"}
plOne:=&model.HitsModel{}
err := config.DBLink.Debug().Select(fields).Where("pid=?",pid).First(&plOne).Error
if (err != nil) {
fmt.Println("查询错误:")
fmt.Println(err)
return nil,err
} else {
return plOne,nil
}
}
2,报错信息
[error] failed to parse '' as default value for int, got error: strconv.ParseInt: parsing "''": invalid syntax
查询错误:
failed to parse '' as default value for int, got error: strconv.ParseInt: parsing "''": invalid syntax
二,原因与解决:
原因: model类的代码:
type HitsModel struct {
Id uint `gorm:"column:id;primaryKey" json:"id"`
Pid uint `gorm:"column:pid;" json:"pid"`
Hits uint `gorm:"column:hits;" json:"hits"`
Addtime string `gorm:"column:addtime;" json:"addtime"`
Index int `gorm:"-;default:''" json:"index"`
Datestr string `gorm:"-;default:''" json:"datestr"`
Title string `gorm:"-;default:''" json:"title"`
Uname string `gorm:"-;default:''" json:"uname"`
}
其中的Index一项是整型,但给的默认值误写成了'',
不知道为什么gorm没有具体提示到这行代码
解决:
修改代码:
Index int `gorm:"-;default:0" json:"index"`
之后问题解决
浙公网安备 33010602011771号