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"`

之后问题解决

 

posted @ 2025-01-25 11:26  刘宏缔的架构森林  阅读(159)  评论(0)    收藏  举报