Xorm 乐观锁

Xorm 更改数据使用乐观锁的时候,需要使用 version 标记。

type User struct {
    Id int64
    Name string
    Version int `xorm:"version"`
}

在 Insert 时,version 标记的字段将会被设置为1,在 Update 时,Update的内容必须包含version原来的值。

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

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