第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

gorm使用update更新數(shù)據(jù)庫(postgresql)布爾值?

gorm使用update更新數(shù)據(jù)庫(postgresql)布爾值?

喵喵時光機 2018-07-09 06:14:45
問題描述 :今天早上遇到的問題,一上午了,還是沒有找出來是什么問題。特來問問目的:使用gorm修改數(shù)據(jù)庫表中的某個字段的布爾值先上代碼:func ChangeActive(id int) (*models.Comment, error) {    var (         model     *models.Comment         pre_model models.PreComment         err       error     )    //先將需要修改的數(shù)據(jù)查詢出來     err = common.DB.Where("id = ?", id).First(&model).Error     if err != nil {         return nil, err     }    //將布爾值取反     model.IsActive = !model.IsActive     //更新數(shù)據(jù)庫的值     common.DB.Model(&model).Updates(&model)    if !model.IsActive {         pre_model.Create(common.DB)     }     return model, err }此函數(shù)接收一個ID,在數(shù)據(jù)庫查詢出ID對應(yīng)的數(shù)據(jù),修改這條數(shù)據(jù)的active字段將它取反。最后再更新數(shù)據(jù)庫。遇到的Bug:布爾值一直更新不過來。排查過程:起初我以為是代碼語句哪里寫錯了,就使用了goland的Debug模式,發(fā)現(xiàn)代碼并沒有問題。接下來我就驗證:將代碼在更新數(shù)據(jù)表之前修改了另外一個字段(model.CompanyID = 3)查看是否修改成功。結(jié)果是修改成功,但是布爾值還是沒變。
查看完整描述

1 回答

?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

  • 如果是零值,那么Updates方法就不會更新這字段,而布爾值的零值是false。

  • 辦法一: 把屬性從bool改為*bool

  • 辦法二: 使用其他的update方法。


查看完整回答
反對 回復(fù) 2018-07-15
  • 1 回答
  • 0 關(guān)注
  • 2657 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號