gorm清零异常处理

gorm当需要update数据为0时,会不生效,包含数字的0,bool的false,还有nil,gorm默认不会生效。
解决办法是将需要清零的字段,定义为指针

type MonitorConfig struct {
    gorm.Model
    Name              string         `gorm:"column:name;primary_key;unique"`
    MonitorStatus       string         `gorm:"column:monitorstatus;force"`
    SeviceStatus        string         `gorm:"column:sevicestatus;force"`
    LostAccount         *int16        `gorm:"column:lostaccount"`
    StartTime           time.Time      `gorm:"column:starttime"`
    LastLost            time.Time      `gorm:"column:lastlost"`
       
}

需要清零

zeroV := int16(0)
    plan := models.MonitorConfig{}  
    plan.LostAccount = &zeroV

需要增加数值

tmp := *record.LostAccount + int16(1)
    record.LostAccount = &tmp

不知道有没有更方便点的方法。

你可能感兴趣的:(gorm清零异常处理)