PHP从不同的进程中选择相同的行
我创建了一个PHP脚本来从数据库中获取行并对其进行处理PHP从不同的进程中选择相同的行,php,mysql,Php,Mysql,我创建了一个PHP脚本来从数据库中获取行并对其进行处理 while(true){ SELECT FROM table WHERE process = 0 UPDATED the selected rows status etc..... } 它将逐个选择process=0的行并继续 然后我使用多个选项卡(Process1、process2、process3等)运行该php文件 但问题是这两个进程在作为多进程运行时选择了同一行。 我需要该进程跳过另一进程已选择的
while(true){
SELECT FROM table WHERE process = 0
UPDATED the selected rows status
etc.....
}
它将逐个选择process=0的行并继续
然后我使用多个选项卡(Process1、process2、process3等)运行该php文件
但问题是这两个进程在作为多进程运行时选择了同一行。
我需要该进程跳过另一进程已选择的行。您可以使用来选择并锁定该行,然后进行更新。您需要使用事务或锁定。您可以在单个查询中实现这一点,但是我们需要您当前查询的详细信息。process2将跳过该锁定行还是在process1完成后再次处理该行operation@Prem,行将被锁定以进行读取和写入,因此第二个进程将等待行被释放,然后
SELECT
查询完成。因此,您可以有另一个字段,例如,is_processing
,您可以使用更新将其设置为1
,然后第二个进程的逻辑可以跳过所有行,将is_processing
设置为1
。