Gorm 更新零值问题

1) Update 更新单个字段值,使用结构体

2)Save用于保存所有字段。提示: 相当于根据主键id,更新所有模型字段值。如果记录在数据库中已经存在,Save 方法就会更新该记录。如果不存在,则会插入一条新记录。默认会更新该对象的所有字段,即使没有赋值

db.First(&user)
user.Name = "jinzhu 2"
user.Age = 100
db.Save(&user)
// UPDATE users SET name='jinzhu 2', age=100, birthday='2016-01-01', updated_at = '2013-11-17 21:34:10' WHERE id=111;

2) 使用struct更新仅适用于非零值

3)更新零值:

1)在updates前加一个select操作

2)可以使用map类型替代结构体 ,更新单行数据一定要在map里面加上主键赋值,否则会批量更新

posted @ 2023-06-10 23:06  李若盛开  阅读(875)  评论(0)    收藏  举报