This repository has been archived on 2022-04-14. You can view files and clone it, but cannot push or open issues or pull requests.
manual-zh-CN/chapter-06/2.updated.md
2020-10-20 12:48:03 +08:00

895 B
Raw Permalink Blame History

更新时间Updated

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)

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