独醉夜寂寞 发表于 2012-6-27 14:26:55

CI如何获取批量插入数据的自增id

我执行insert_batch();我需要获取插入数据的自增id怎么获得?

siek 发表于 2012-6-27 14:43:25

$this->db->insert($table,$data);
return $this->db->insert_id();

独醉夜寂寞 发表于 2012-6-27 14:44:05

本帖最后由 独醉夜寂寞 于 2012-6-27 15:46 编辑

虽然没有在手册上以及网站上找到解决方案,但是我自己想到了怎么解决。因为id是自增的,所以可以采用for循环。
$this->db->insert_id()可以获取插入第一条数据的id;然后它小于它加插入数据条目数,然后递增;就可以获取到所有插入的id了

longjianghu 发表于 2012-6-27 21:50:03

你这个需求有点奇怪哈,你用for循环能保证你数据是对的么?如果有100个同时写入你怎么循环?

suxiaolu 发表于 2012-6-27 23:54:55

我觉得你应该在for循环里执行$this->db->insert(),然后用$this->db->insert_id()获取每一次插入后的id

bopoco 发表于 2014-6-20 15:25:05

独醉夜寂寞 发表于 2012-6-27 14:44
虽然没有在手册上以及网站上找到解决方案,但是我自己想到了怎么解决。因为id是自增的,所以可以采用for循 ...

我现在要使用insert_batch 同时插入3万条数据,但是insert_id 得到的id 不是第一个ID,如何处理?   insert_batch 被分批插入了?然后返回的id 是最后一次插入的那段数据的第一个ID。

独醉夜寂寞 发表于 2014-7-21 13:39:04

bopoco 发表于 2014-6-20 15:25
我现在要使用insert_batch 同时插入3万条数据,但是insert_id 得到的id 不是第一个ID,如何处理?   inse ...

你还循环着1条1条的插入吧!
页: [1]
查看完整版本: CI如何获取批量插入数据的自增id