我有多个来源执行相同的 mysql 查询来获取和执行一项工作(来源是不同的 php 脚本)。我想得到与过去最远的工作,所以我使用这个查询:
SELECT * FROM jobs ORDER BY last_done ASC
现在我的问题是每个来源都应该得到唯一的结果,这意味着如果一个来源得到job1
这个工作应该更新到 last_done 所以它再次位于表的底部,如果第二个来源执行它不应该得到的查询job1
,而是它应该得到job2
等等。
我遇到的问题是,如果我在选择后单独更新,有时如果 2 个源几乎同时调用它们会获得相同的工作。
我怎样才能最好地做到这一点,而不是 2 个靠近查询的来源获得相同的工作?