http://php.net/manual/en/pdo.query.php

PDO::query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

不通过锁机制 lock 行级别(mysql) 读和写,即使 limit 1  也不同保证对某id数据不重复处理。

w

进程 query  foreach-LMLPHP

db->query()
游标 原理 一次 死读 不更新

当前 runnedFlag 已经是更新了,但是在程序起始执行时是相反的,故此时 不生效

也就是仅仅查询一次

进程0-run script0-取flag=0数据,处理,之后,更新flag=1

进程1-同上

进程0已经将某id数据的flag更新为1

但是

进程1取数据集时,该id的flag那时还为0

导致,当进程1重复处理进程0已经处理过的该id数据

05-28 16:46