GORM 更新时怎么更新有默认值的字段
时间: 2024-05-10 08:17:54 浏览: 207
gorm-bulk-insert:使用gorm实现BulkInsert
在使用 GORM 进行更新操作时,如果要更新的字段有默认值,可以通过设置 `gorm:"default:xxx"` 标签来指定默认值,这样更新时如果值为空,则会自动填充为默认值。
例如,假设我们有一个 `User` 模型,其中有一个 `status` 字段有默认值为 `1`:
```go
type User struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"not null"`
Age int
Status int `gorm:"default:1"`
}
```
如果我们要更新一个用户的状态,可以这样做:
```go
db.Model(&User{}).Where("id = ?", 1).Update("status", 2)
```
如果要更新的状态值为空,那么 GORM 会自动填充为默认值 `1`。如果要更新为其他值,可以直接指定。
阅读全文