加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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以防止数据相交,从而保持此方法有效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读