php - Is there a maximum number of SQL UPDATE queries, is it sensible to make them via a loop? -


i need rewrite field in large number of records in 1 of tables.

i'm planning run php loop like

foreach($array $k=>$v) { $sql = "update table set `time`='".$v['time']."' id='".$v['id']."' ";     try          {                $pdo->setattribute(pdo::attr_errmode, pdo::errmode_exception);                $stmt = $pdo->prepare($sql);         $stmt->execute();           echo $stmt->rowcount(); // 1         } catch(pdoexception $e) {           echo 'error: ' . $e->getmessage();         } } 

where array has close 300,000 elements.

i have no idea if that's much, or trivial? in danger of crashing server way?

i array slice 50,000 entries @ time, seems bit cumbersome. mysql db.

my server has 2gb of "real" memory, 1.6 of free.

since you're using pdo, why not prepare statement once , execute different parameters on each iteration of loop?

$pdo->setattribute(pdo::attr_errmode, pdo::errmode_exception); $pdo->setattribute(pdo::attr_emulate_prepares, false); $stmt = $pdo->prepare('update table set time=? id=?'); foreach($array $v) {   try {     $stmt->execute(array($v['time'], $v['id']));     echo $stmt->rowcount(); // 1   } catch(pdoexception $e) {     echo 'error: ' . $e->getmessage();   } } 

Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -