我使用CodeIgniter和PostgreSQL
我这样写SQL:
$sql = "INSERT INTO(a,b) VALUES (1,2) RETURNING id";
我执行这样的查询:
$id = $this->db->query($sql);
问题是,为什么我总是得到“1”作为查询的返回值?我可以肯定在数据库中id(自动增量)的下一个值是100而不是1.如果我执行直接在phppgadmin内查询返回值为100而不是1,就像从我的php代码执行一样。
答案 0 :(得分:2)
1表示True
并且查询已成功执行
使用$this->db->insert_id();
获取最后一次插入ID
答案 1 :(得分:1)
CodeIgniter的 insert_id()只会返回 insert()
的ID例如:
$this->db->insert('posts', $post_data);
$insert_id = $this->db->insert_id();
注意: 插入查询将返回0,1.0:失败,1:成功