设为首页 加入收藏

TOP

xorm - Update,乐观锁,更新时间updated,NoAutoTime()(二)
2019-05-28 16:08:22 】 浏览:262
Tags:xorm Update 乐观 更新 时间 updated NoAutoTime
。 */ var user User has, err := engine.Id(1).Get(&user) if err != nil { log.Fatal(err) return } if has { fmt.Println("乐观锁,初始的userName:", user.Name, " 初始的version:", user.Version, "更新时间:", user.UpdatedAt) } user.Name = "version2Name" affected, err := engine.Id(1).Update(&user) if err != nil { log.Fatal(err) return } fmt.Println("乐观锁,改变了的数据库记录数:", affected, " 改变后的userName:", user.Name, " 改变后的version:", user.Version, "更新时间:", user.UpdatedAt) /* 更新时间Updated可以让您在记录插入或每次记录更新时自动更新数据库中的标记字段为当前时间, 需要在xorm标记中使用updated标记,对应的字段可以为time.Time或者自定义的time.Time或者int,int64等int类型。 在Insert(), InsertOne(), Update()方法被调用时,updated标记的字段将会被自动更新为当前时间 */ var user1 User has, err = engine.Id(2).Get(&user1) if err != nil { log.Fatal(err) return } if has { fmt.Println("更新时间Updated,初始的userName:", user1.Name, " 初始的version:", user1.Version, "更新时间:", user1.UpdatedAt) } affected, err = engine.Id(2).Update(&user1) if err != nil { log.Fatal(err) return } fmt.Println("更新时间Updated,改变了的数据库记录数:", affected, " 改变后的userName:", user1.Name, " 改变后的version:", user1.Version, "更新时间:", user1.UpdatedAt) /* 如果你希望临时不自动插入时间,则可以组合NoAutoTime()方法: engine.NoAutoTime().Insert(&user) 这个在从一张表拷贝字段到另一张表时比较有用。 */ var user2 User has, err = engine.Id(3).Get(&user2) if err != nil { log.Fatal(err) return } if has { fmt.Println("临时不自动插入时间,初始的userName:", user2.Name, " 初始的version:", user2.Version, "更新时间:", user2.UpdatedAt) } affected, err = engine.Id(3).NoAutoTime().Update(&user2) if err != nil { log.Fatal(err) return } fmt.Println("临时不自动插入时间,改变了的数据库记录数:", affected, " 改变后的userName:", user2.Name, " 改变后的version:", user2.Version, "更新时间:", user2.UpdatedAt) /*输出: 乐观锁,初始的userName: version2Name 初始的version: 2 更新时间: 2019-05-28 14:41:24 +0800 CST 乐观锁,改变了的数据库记录数: 1 改变后的userName: version2Name 改变后的version: 3 更新时间: 2019-05-28 14:44:02.386965 +0800 CST 更新时间Updated,初始的userName: u1 初始的version: 2 更新时间: 2019-05-28 14:41:24 +0800 CST 更新时间Updated,改变了的数据库记录数: 1 改变后的userName: u1 改变后的version: 3 更新时间: 2019-05-28 14:44:02.395314 +0800 CST 临时不自动插入时间,初始的userName: u2 初始的version: 2 更新时间: 2019-05-28 14:41:24 +0800 CST 临时不自动插入时间,改变了的数据库记录数: 1 改变后的userName: u2 改变后的version: 3 更新时间: 2019-05-28 14:41:24 +0800 CST */ }
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇xorm-删除和软删除实例 下一篇golang两种在for循环中使用gorout..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目