如何在MySQL中管理多用户作业列表?

时间:2013-01-27 08:46:57

标签: mysql list

我有一个存储在MySQL表中的多个用户的作业列表。我目前正计划在客户端应用程序中执行以下操作:

  • 向MySQL服务器询问未分配给任何人的作业。
  • 标记分配给自己的第一份工作。

但问题是,如果2个用户以某种方式获得相同的“未分配”作业列表,则它们将标记与分配的作业相同。那么如何管理这种情况,并确保每个用户只获得一个独特的未分配工作?

我正在尝试避免使用存储过程,因为如果可能,我想要应用程序中的所有代码。

1 个答案:

答案 0 :(得分:2)

抱歉,您喜欢它的方式,您需要一个触发器来避免发送相同的列表,在查询时分配。或者你可以在查询时盲目接受和分配...... 像这样:

   Update jobs set allocatedto=myid where status=notallocated limit 1
   select * from jobs where status=allocated and allocatedto=myid limit 1;
   select * from jobs where status=not allocated;