提问人:SilumanSupra 提问时间:9/10/2017 更新时间:9/11/2017 访问量:763
Codeigniter 和 Oracle 获得插入查询的last_id
Codeigniter and Oracle get the last_id of insert query
问:
我有这样的模型:
function data_input($data, $file_upload) {
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL", FALSE); //false escape
$this->db->insert('FIRST_TABLE', $data);
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL -1", FALSE); //false escape
$this->db->insert('SECOND_TABLE', $file_upload);
return true;
}
我想将 的值发送到控制器,并使用它来更新基于它的数据库。ID_KEY
ID_KEY
我的问题是,我可以生成在FIRST_TABLE和SECOND_TABLE中相同的值,但我无法将值发送到控制器。ID_KEY
或者,我可以使用另一种方法获取 oracle 活动记录中插入的值。(或使用?"insert_id()"
$this->db->query
答:
0赞
ckkaqa
9/11/2017
#1
在 Codeigniter 中;调用 $this->db->insert_id() 将返回上次插入数据的 ID。如果您打算返回两个查询的最后一个插入 ID,我会这样做:
function data_input($data, $file_upload) {
$insert_id_collection = array();
// first table query
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL", FALSE); //false escape
$this->db->insert('FIRST_TABLE', $data);
$insert_id_collection['first_table_name'] = $this->db->insert_id();
// second table query
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL -1", FALSE); //false escape
$this->db->insert('SECOND_TABLE', $file_upload);
$insert_id_collection['second_table_name'] = $this->db->insert_id();
// this will contain to last insert ID;
return $insert_id_collection;
}
我之所以将数组的索引放入表名中,以便您识别哪个最后一个插入 ID;
希望对你有所帮助;快乐编码
评论