更新并返回GORM

问题描述 投票:0回答:1

我想在从记录返回字段的同时更新记录。如果我不返回同一命令,则可能存在并发问题,这就是为什么我希望它是原子操作。有人可以指导我如何在Gorm中实现这一目标吗?

postgresql go gorm
1个回答
0
投票

您可以使用func(* DB)BeginTx启动事务,完成计算或更新后,可以使用func(s * DB)Commit()* DB更新事务。它将锁定表以确保原子操作(如果发生错误,请使用Rollback)。

有关此功能的更多信息,请使用此链接:https://godoc.org/github.com/jinzhu/gorm#DB.BeginTx

例如(示例Golang代码):db,err:= mysql.SharedStore()。BeginTx()如果err!= nil {返回nil,err}延迟func(){_ = db.Rollback()}()//计算db.CommitTx()

© www.soinside.com 2019 - 2024. All rights reserved.