当我向数据库表中插入一条新记录时,我需要获取名为 el_order 的列的现有先前值,添加 +1,然后使用新的 el_order+1 在该列中插入具有该值的新记录.
我无法使用自动增量,因为我需要对该列执行一些操作(重新排序、移动等)并且必须将其用作整数。
表
ID name el_order
1 1 1
21 bla 2
2 2 3
--NEW-- --NEW-- 3+1 (NEW)
我添加了一条新记录,需要将其以 3+1 插入到其 el_order 列中...
我已经尝试过这个,但没有运气:
$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);
最佳答案
就像这样
$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);
关于php - Codeigniter,mysql,select_max并在插入另一条记录之前添加1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51670349/