php – Codeigniter 2.1 – 插入批处理后返回ID
发布时间:2020-12-13 22:39:08 所属栏目:PHP教程 来源:网络整理
导读:如何在insert_bunch之后返回所有ID?功能: public function insert_slike($id,$slike,$folder,$polje,$tabela){ $slike = explode(',',$slike); $i = 1; $data = array(); foreach ($slike as $slk) { $this-img_upload_resize($slk,$folder); $data[] = ar
如何在insert_bunch之后返回所有ID?功能:
public function insert_slike($id,$slike,$folder,$polje,$tabela) { $slike = explode(',',$slike); $i = 1; $data = array(); foreach ($slike as $slk) { $this->img_upload_resize($slk,$folder); $data[] = array( $polje => $id,'path' => $slk ); $i++; } $this->db->insert_batch($tabela,$data); }
这是一种有效的方法:
由于您的记录有结果ID,我将假设它们也会自动增加. 如果是这种情况,则执行此操作并仍使用insert_batch. 这是你做的: 1.您计算要插入的项目: $count = count($data); 2.运行批量插入: $this->db->insert_batch($table,$data); 3.获取批次的第一个插入ID: $first_id = $this->db->insert_id(); 4.将计数(减1)添加到插入ID以获取最后的记录ID. $last_id = $first_id + ($count-1); 你去!您现在拥有插入记录的第一个和最后一个ID,以及扩展名,其中包含其他所有内容. 注意: 一些人问过如果两个批次插入同时发生会发生什么; InnoDB将智能地管理新行的ID以防止数据相交,从而保持此方法有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |