Batch insert principle and case

$sql = "select count(*) SALE,PRODUCT_ID from order_product group by PRODUCT_ID";

$data = Db::query($sql);

$data_length = count($data);

$step_length = ceil($data_length / $this->length);

for ($i=0; $i < $step_length ; $i++) {

$sql_insert = "insert into order_product_sales(SALES, PRODUCT_ID) values";

$start_index = $i * $this->length;
$end_index = ($i+1) * $this->length;

if($end_index > $data_length) $end_index = $data_length;

for ($j = $start_index; $j < $end_index ; $j++) {
$sql_insert = $sql_insert. "(".$data[$j]['SALE'] . ',' . $data[$j]['PRODUCT_ID'] . '),';
}

$sql_insert = substr($sql_insert, 0, -1);

Db::execute($sql_insert);
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324977063&siteId=291194637