如何使用当前列值加上codeigniter中的增量更新列值?

时间:2014-05-14 20:53:19

标签: php mysql codeigniter

我想用当前列值加上一个增量来更新列值。我的表结构如下:

id   |   menu   | priority
__________________________

 1   |   One    |   2
 2   |   Two    |   3
 3   |   Three  |   1

我尝试过的一个简单查询正在运行:

update table set priority=priority+1 where id=2
在codeigniter中

$update_new_pri=$this->db->where('id',$menu_ids[$i])->update($this->table['menu'],array('menu_priority'=>'menu_priority+1'));

但它没有用。

1 个答案:

答案 0 :(得分:4)

According to docs

  

执行时,您还可以使用$ this-> db-> set()函数   更新数据库。

$this->db->where('id',$menu_ids[$i])
     ->set('menu_priority', 'menu_priority+1', FALSE)      
     ->update($this->table['menu']);
  

set()也会接受一个可选的第三个参数($ escape)   如果设置为FALSE,将阻止数据被转义。为了显示   差异,这里是set()使用和不使用转义   参数。