我想用当前列值加上一个增量来更新列值。我的表结构如下:
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'));
但它没有用。
答案 0 :(得分:4)
执行时,您还可以使用$ 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()使用和不使用转义 参数。