当我向数据库表中插入新记录时,我需要获取一个名为el_order的列的现有先前值,添加+1,然后使用该新的el_order + 1将具有该值的新记录插入该列中
我的英语不好,所以我会这样解释:
表
ID name el_order
1 1 1
21 bla 2
2 2 3
--NEW-- --NEW-- 3+1 (NEW)
我添加了一条新记录,并需要在el_order列中以3 + 1插入它...
我已经尝试过了,但是没有运气:
$this->db->select_max('el_order');
$res = $this->db->get('elem_diccio');
$eldi_key = url_title($this->input->post('id'), 'underscore', TRUE);
$el_order = $res+1;
$datos = array(
'ID' => $id,
'el_order' => $el_order,
'name' => $this->input->post('name'),
);
$this->db->insert('elem_diccio', $datos);
谢谢。
答案 0 :(得分:1)
就这样
$this->db->select_max('el_order');
$res = $this->db->get('elem_diccio')->row()->el_order;
$eldi_key = url_title($this->input->post('id'), 'underscore', TRUE);
$el_order = $res+1;
$datos = array(
'ID' => $id,
'el_order' => $el_order,
'name' => $this->input->post('name'),
);
$this->db->insert('elem_diccio', $datos);
答案 1 :(得分:1)
请在上面的两个链接中查找所需的答案。谢谢
答案 2 :(得分:1)
$res
是CI_DB_mysqli_result Object
。要获取该列,您需要
$this->db->select_max('el_order');
$res = $this->db->get('elem_diccio')->row();
$el_order = $res->el_order+1;
$datos = array(
'ID' => $id,
'el_order' => $el_order,
'name' => $this->input->post('name'),
);