首页 > 解决方案 > 更新,选择原子。戈尔姆

问题描述

我可以在 gorm 和 psql 中做这样的事情吗?

UPDATE job SET status = 'RUNNING' WHERE status = 
'PENDING' RETURNING *

我想通过单个原子操作获取更新更改的所有行。如果有其他解决方案,请写出来。

标签: gogo-gorm

解决方案


据我所知,它可能只有一点缺点

假设你的模型被称为Job,你可以做这样的事情......

var jobs []Job
db.Find(&jobs).Where("status = ?", StatusPending).Update("status", StatusRunning)

行影响将在 中jobs var,但我不得不说您将收到更新前的行,因此模型的状态将是“待定”


推荐阅读