如何在批量插入查询后从表中获取总插入行数mysql
问题描述:
我正在使用PHP插入到mysql表中使用批量插入查询。在这里我想知道从这个批量插入查询中插入的总记录。批量插入完成后,我使用下面的代码来获得总插入计数。如何在批量插入查询后从表中获取总插入行数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);
在这里我得到的影响:rows:1.And我希望最后插入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;
答
虽然使用循环,你也可以设置一个计数器来计数th e行数,甚至在插入之前。此外,为了获得最后插入的ID,用于mysqli的程序你可以使用
$last_id = mysqli_insert_id($conn_string);
你已经拥有的记录数为插入$ inbound_csv_cnt
_i想最后插入的ID也从该散装insert._在哪里INSERT语句? –
您可以在您的问题中添加批量插入功能吗?只是想看看你是如何做到这一点,以便用户给出的答案将更接近你所期望的... –
增加了批量插入查询 – user3408779