go - 更新,选择原子。戈尔姆
问题描述
我可以在 gorm 和 psql 中做这样的事情吗?
UPDATE job SET status = 'RUNNING' WHERE status =
'PENDING' RETURNING *
我想通过单个原子操作获取更新更改的所有行。如果有其他解决方案,请写出来。
解决方案
据我所知,它可能只有一点缺点
假设你的模型被称为Job
,你可以做这样的事情......
var jobs []Job
db.Find(&jobs).Where("status = ?", StatusPending).Update("status", StatusRunning)
行影响将在 中jobs var
,但我不得不说您将收到更新前的行,因此模型的状态将是“待定”
推荐阅读
- xamarin.forms - Xamarin.Form 如何将 ios 项目从 PC 获取到 Mac?
- javascript - 在折线图中动态显示数据 - ChartJS
- python - 无法将大小为 1 的数组重塑为形状 (1,224,224,3)
- python - 使用多处理检测多个子进程的终止
- python - socket.gaierror: [Errno -2] 服务名称未知
- c# - 优雅地处理空的 Facebook 快速回复
- android - 如何在android的webview中集成adobe flash player?
- javascript - 如何在 JavaScript 中附加方法
- r - 使用 MICE 对 R 中的缺失数据进行敏感性分析
- php - 如何一次登录多个子域