我有一项服务,很多人会并行访问数据库。每次,每个人都会请求50条尚未处理的记录。如,
./filename_bib
然后手动更新它们(这意味着它们将被分配不同的值)。 我想要做的是返回50个不同的记录给每个人进行更新。实现它的正确方法是什么?
我试过了
select * from service where update = -1 limit 50;
但似乎它会阻止整个数据库。
答案 0 :(得分:0)
不要<audio id="aud" aud controls></audio><br>
<label>start: <input id="min" type="number" value="10" min="0" max="119"></label>
<label>end: <input id="max" type="number" value="20" min="1" max="120"></label>
<button id="btn">re-load</button>
,而是专门为要求提供专栏。这是SELECT ... FOR UPDATE
,但您将使用一些随机或唯一标识符填充它。 UUID或其他不明确的值将正常工作。
例如:
DEFAULT NULL
注意响应中修改的行数。如果它大于零,那么您声明了一些内容:
UPDATE service SET claimed=? WHERE claimed IS NULL LIMIT 50
这将获取之前声明的值。