小编Ale*_*lex的帖子

带有子查询 LIMIT 1 的 UPDATE 返回多行

我正在努力处理随机返回多行而不是一行的查询。我正在使用 PostgreSQL 9.4.12

查询如下:

UPDATE folder as f set locked = 'locked', date_locked = current_timestamp 
from (
    SELECT * from folder as f2 
    WHERE f2.locked = 'available'
    LIMIT 1 FOR UPDATE ) as folderToUpdate 
WHERE f.id = folderToUpdate.id returning f.*
Run Code Online (Sandbox Code Playgroud)

id是主键。

它是通过一系列集成测试执行的。当我只执行上述查询的测试时,我没有任何问题。但是,当我执行所有测试时,我随机得到多行。你有什么建议吗?

postgresql concurrency update postgresql-9.4

1
推荐指数
1
解决办法
1901
查看次数

标签 统计

concurrency ×1

postgresql ×1

postgresql-9.4 ×1

update ×1