xorm update的时候不更新空或者0的字段
如果我要更新某一个字段为空或者0值就要用Cols指定更新的字段
但是这样有一些字段我不想更新空或者0值时,由于Cols指定又会被更新到.
刚学golang后端实在想不通来问问.
type A struct{
Id uint
Name string
Age int
Remarks string
}
Update会自动从A结构体中提取非0和非nil得值作为需要更新的内容,因此,如果需要更新“Remarks”为空时,只能这样写
engine.Id(id).Cols("Name").Cols("age").Cols("Remarks").Update(&user)
但是这样写Age这种不想让更新为0的情况又会被更新进去.
这种情况怎么处理比较好
DB.where('id = ?',id).Updates(&data) // 默认忽略0值。
save := make(map[string]interface)
save['status'] = 0
DB.where('id = ?',id).Updates(&save) //
#1