用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2698|回复: 7
收起左侧

[讨论/交流] mysql插入数据库成功,但是insert_id为0

[复制链接]
发表于 2015-3-6 16:37:56 | 显示全部楼层 |阅读模式
$res = $this->db->insert('haha',$insert);
$insert_id = $this->db->insert_id();
插入成功,返回的$insert_id为0
发表于 2015-3-6 16:49:39 | 显示全部楼层
本帖最后由 Closer 于 2015-3-6 16:52 编辑


$this->db->insert('haha',$insert);
$insert_id = $this->db->insert_id();

這樣的話呢?

看了 CI 社區 - $this->db->insert_id() 该如何用?
發現你那張表需要一個會自動編號的主鍵才行
 楼主| 发表于 2015-3-6 17:09:50 | 显示全部楼层
Closer 发表于 2015-3-6 16:49
$this->db->insert('haha',$insert);
$insert_id = $this->db->insert_id();

都不行~还是返回0    id就是主键自增的~

发表于 2015-3-6 17:30:48 | 显示全部楼层
百思不得其姐 发表于 2015-3-6 17:09
都不行~还是返回0    id就是主键自增的~

你数据库要设置为主键自动递增!!!
发表于 2015-3-6 17:48:25 | 显示全部楼层
因为你每次插入数据库都是插在了最顶行。最顶行的insert_id都是为0
发表于 2015-3-7 11:21:20 | 显示全部楼层
点开数据库看看不就知道了
发表于 2015-6-23 11:53:18 | 显示全部楼层
刚好我也碰到这个问题,我是在事务提交后返回自增的id就会返回0,修改为在事务提交前记录自增的id就没有问题
发表于 2016-7-8 18:01:42 | 显示全部楼层
我今天也遇到这个问题,解决了,那是因为主键没有自增(主键不需要自增的情况),就会为0,你打印影响的行数:$this->db->affected_rows()就得出结果了

本版积分规则