SQL RETURNING id总是返回1作为结果

时间:2016-12-06 03:46:49

标签: php sql database postgresql codeigniter

我使用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代码执行一样。

2 个答案:

答案 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:成功