我有一个存储在MySQL表中的多个用户的作业列表。我目前正计划在客户端应用程序中执行以下操作:
但问题是,如果2个用户以某种方式获得相同的“未分配”作业列表,则它们将标记与分配的作业相同。那么如何管理这种情况,并确保每个用户只获得一个独特的未分配工作?
我正在尝试避免使用存储过程,因为如果可能,我想要应用程序中的所有代码。
答案 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;