我有一个包含任务的表,该任务应在特定时间执行。为了执行,作业由执行者使用其workerID进行标记。
与下一个SQL:
UPDATE table1.jobs
SET workerID=10
WHERE workerID IS NULL and time < NOW()
ORDER BY time LIMIT 1
我可以标记最旧的未标记作业。
现在,我希望仅在还没有标记有workerID 10的作业时执行此操作。
是否可以在一个查询中完成?
最佳答案
您可以创建worker_id as Unique key
并完成。
如果表中已经有workerID 10,则UPDATE查询将永远不会执行。