Beispiel #1
0
 /**
  * 插于多行
  */
 public function insertBulk(array $rows, array $columns = null, $delay = false)
 {
     assert(count($rows) > 0);
     if (empty($columns)) {
         $columns = array_keys(reset($rows));
     }
     $db = $this->getDB();
     $table_name = $db->getTableName($this->table, true);
     list($sql, $marks) = self::getInsertSQL($table_name, $columns, $delay, false);
     $chunks = array_chunk($rows, self::COUNT_INSERT_BULK_MAX);
     foreach ($chunks as $chunk) {
         $more_marks = array_fill(0, count($chunk), "({$marks})");
         $sql .= " VALUES " . implode(', ', $more_marks);
         $more_values = array_map('array_values', $chunk);
         $params = exec_funcution_array('array_merge', $more_values);
         $db->execute($sql, $params);
     }
 }
Beispiel #2
0
 function insertBulk(array $vB, array $J = null, $WB = false, $FC = false)
 {
     assert(count($vB) > 0);
     $Y = $this->getTable(true);
     if (empty($J)) {
         $J = array_keys(reset($vB));
     }
     list($G, $XB) = $this->getInsertSQL($J, $WB, $FC);
     $OF = array_chunk($vB, self::COUNT_INSERT_BULK_MAX);
     foreach ($OF as $TD) {
         $NF = array_fill(0, count($TD), "({$XB})");
         $G .= " VALUES " . implode(', ', $NF);
         $MF = array_map('array_values', $TD);
         $L = exec_funcution_array('array_merge', $MF);
         $this->getDB()->execute($G, $L);
     }
 }