Php 在mysql查询中标记所选行

Php 在mysql查询中标记所选行,php,mysql,Php,Mysql,我有一个代理,我为那个php代理文件定义了一个作业。但如果第二个代理在1分钟后运行,而前一个代理的工作还没有完成。这会造成问题。。。。。 我想在每个代理中标记所选行,如果另一个代理运行新查询,它们不会干扰 如何更改此查询的最佳方法是在该表中为“选定”或“未选定”创建一个字段,并更新该字段 db::query("SELECT 1000 FROM web-service WHERE `state`= 1 AND `fetch_id`="fetchid" ")// 1状态=1是我的产品的条件 2-

我有一个代理,我为那个php代理文件定义了一个作业。但如果第二个代理在1分钟后运行,而前一个代理的工作还没有完成。这会造成问题。。。。。 我想在每个代理中标记所选行,如果另一个代理运行新查询,它们不会干扰

如何更改此查询的最佳方法是在该表中为“选定”或“未选定”创建一个字段,并更新该字段

db::query("SELECT 1000 FROM web-service WHERE `state`= 1 AND `fetch_id`="fetchid"  ")//
1状态=1是我的产品的条件


2-我使用fetch id向每个代理插补id最好的方法是什么?

如果我理解您的问题,您不希望多个脚本同时在同一行上工作。这被称为
争用
,可以通过多种方式解决


我过去解决这个问题的一种方法是,只在脚本尚未运行时运行它。您可以通过这里定义的shell脚本来实现这一点:

自从矩阵革命以来,我还没有见过这么多代理。一个选择查询如何受到另一个选择查询的影响?您没有显示所有相关的code@Matt这是一个队列,我连接到一个网关,可能网关响应很晚,代理需要2分钟的时间。我的工作每1分钟运行一次这个php文件minutes@Alfabravo我为Matt描述了这一点,我的朋友,我希望2个agnet同时工作,但使用自己的select Products,您可以添加一列,标记产品“正在使用”,请在
选择后设置它,然后在脚本完成后更新它。嗯,这是最好的方法吗?例如,mysql是否可以识别已选中的行并正在运行?或者最好的方法是更新像您这样的字段(例如,
正在使用
)?一旦执行了
选择
,mysql的工作就完成了。在使用
更新操作数据之前,它不知道您在做什么。