mysqlでphpを使用してバッチで挿入を処理するにはどうすればよいですか?たとえば、最初の 1,000 個のデータが処理された後、1,001 ~ 2,000 個のデータが処理され、さらに 2,001 ~ 3,000 個のデータが処理されます...すべてが処理されるまで?
テーブルメンバーのデータ量が大きくない場合は、一度に実行できます:
$q="select * from member'";<br />$r=$obj_db->simplequery($q);<br />while($a=$obj_db->fetchrow($r,DB_FETCHMODE_ASSOC)){<br /> $id=$a[id];<br /> $mccd=$a[cca]+$a[ccb];<br /> <br /> $query="insert into mingxi (mid,mccd,mtime) values ('$id','$mccd','$time')";<br /> $obj_db->simplequery($query);<br />}
$q="select * from member'";<br />$r=$obj_db->simplequery($q);<br />while($a=$obj_db->fetchrow($r,DB_FETCHMODE_ASSOC)){<br />$i++;<br /><br />$ep=1000;//这里假设处理完第1个1000条后再处理第二个1000条,直至处理结束?<br /><br /> $id=$a[id];<br /> $mccd=$a[cca]+$a[ccb];<br /> <br /> $query="insert into mingxi (mid,mccd,mtime) values ('$id','$mccd','$time')";<br /> $obj_db->simplequery($query);<br />}
$offs = isset($_GET['offs']) ? $_GET['offs'] : 1;<br />$sql = "select * from member limit $offs, 1000";<br />//做你该做的事<br />header("Location: $_SERVER[PHP_SELF]?offs=" . ($offs+1000));<br />