[Golang] gorm 2.0 insert on duplicate update


Posted by kitecloud213 on 2020-09-09

最近升級了 gorm 2.0,紀錄一下 on duplicate update 寫法

type TableItem struct {
    ID int // PK
    Amount int
}

func Create(ID int, amount int) error {
    db := dbPool.Get() // 取得已經建立好的 connection
    item := &TableItem{
        ID: ID,
        Amount: amount,
    }
    err := db.Clauses(clause.OnConflict{
        DoUpdates: clause.Assignments(map[string]interface{}{"amount": item.Amount}),
    }).Create(item).Error
    if err != nil {
        return err
    }

    return nil
}

#golang #gorm







Related Posts

CDS2019 Next-generation web styling 整理介紹

CDS2019 Next-generation web styling 整理介紹

我很菜,所以只會用原生 JS 跟 CSS 寫「口罩地圖 」Ep.04

我很菜,所以只會用原生 JS 跟 CSS 寫「口罩地圖 」Ep.04

[ 紀錄 ] 部屬 AWS EC2 雲端主機 + LAMP Server + phpMyAdmin

[ 紀錄 ] 部屬 AWS EC2 雲端主機 + LAMP Server + phpMyAdmin


Comments