Update为0不更新 我才知道。。。
xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。xorm的目标并不是让你完全不去学习SQL,我们认为SQL并不会为ORM所替代,但是ORM将可以解决绝大部分的简单SQL需求。
在开发过程中使用Update将某个字段更新为0,但发现 更新不了,查询xorm的文档才知道。。。
1 2 3 4 | user := new(User) user.Name = "myname" user.age = 0 affected, err := engine.Id(id).Update(user) |
这里需要注意,Update会自动从user结构体中提取非0和非nil得值作为需要更新的内容,因此,如果需要更新一个值为0,则此种方法将无法实现
1 | affected, err := engine.Id(id).Cols("age").Update(&user) |
必须指定才可以,然后我网上查了很多资料都说只能这样。那我要是要更新很多字段的话。。。
我裂开来,这个问题我遇到两次,引以为戒,下次不能犯这样的错误了
上面都是摘抄于xorm操作指南