繁体   English   中英

如何在批量插入查询mysql之后从表中获取总插入行数

[英]How to get total inserted row count from a table after bulk insert query mysql

我正在使用批量插入查询使用PHP插入到mysql表中。 在这里,我想知道来自此批量插入查询的总插入记录。 完成批量插入后,我使用下面的代码来获得总插入数。

//here bulk insert complete.Next i am calling this
$row_cnt = mysql_query("SELECT ROW_COUNT()");
echo "Affected:rows:".$inbound_cnt = mysql_num_rows($row_cnt);

在这里,我受到了影响:行:1。我还想从此批量插入中获取最后一个插入ID。

echo "current_id:". $current_id = mysql_insert_id();
I am getting '0' ;

如何找到总插入数? 任何帮助将不胜感激。

// my insert query
 $data4 = "";
    $inbound_csv_cnt = count($csv_array);
    for($i=0;$i<$inbound_csv_cnt;$i++)
    {
   $data4.="('".$csv_array[$i][0]."','".$csv_array[$i][1]."','".$csv_array[$i][2]."'),";
    }
    $data4 = substr($data4,0,-1);
    $ins_sql = "INSERT INTO whv_inbound_response(`whv_id`, `rqv_id`, `whv_type`) values $data4" ;
    $res = mysql_query($ins_sql);

在插入之前,您可以获得total records

 SELECT COUNT(id) FROM table_name; // save output in $old

然后插入您的数据并再次将总记录计为$new

现在发现差异

$total_inserted_record = $new-$old;

在使用循环时,您还可以设置计数器来计算行数,甚至在插入之前。 另外,要获取最后一个插入ID,可以使用mysqli程序

$last_id = mysqli_insert_id($conn_string); 

您已经在$ inbound_csv_cnt中插入了多个记录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM