Xorm 更新时间

Updated 可以让您在记录插入或每次记录更新时自动更新数据库中的标记字段为当前时间,需要在 xorm 标记中使用 updated 标记,如下所示进行标记,对应的字段可以为 time.Time 或者自定义的 time.Time 或者 int,int64 等 int 类型。

type User struct {
    Id int64
    Name string
    UpdatedAt time.Time `xorm:"updated"`
}

在Insert(), InsertOne(), Update()方法被调用时,updated标记的字段将会被自动更新为当前时间,如下所示:

var user User
engine.Id(1).Get(&user)
// SELECT * FROM user WHERE id = ?
engine.Id(1).Update(&user)
// UPDATE user SET ..., updaetd_at = ? WHERE id = ?

如果你希望临时不自动插入时间,则可以组合NoAutoTime()方法:

engine.NoAutoTime().Insert(&user)

这个在从一张表拷贝字段到另一张表时比较有用。

Xorm 删除数据使用 Delete 方法,参数为struct的指针并且成为查询条件。user := new(User)affected, err := engine.Id(id).Delete(user)Delete的 ...