xorm中的几个坑

项目中使用的是xorm,虽然用了很顺手了,可是还是会遇到一些坑,这里纪录一些。

结构体自动忽略空字段

在xorm中,结构体会自动忽略空字段(或则说默认值,比如int 的0 ,string的""),这个时候,怎么解决呢?
把结构体中的字段,提到where语句的条件中,比如:

orm.Get(&User{Name:""}) //获取Name为空的用户
可以改为
orm.Where("name = ?","").Get(&User{})

update时指定主键

update如果不指定主键,会把全表更新,需要明确指定主键,如下

orm.Id(id).Update(&User{Name:"name"})
原文地址:https://www.cnblogs.com/xdao/p/go_xorm.html