如何使用增量值更新列

时间:2016-02-15 17:22:07

标签: php mysql codeigniter sql-update

我已使用此查询使用所选数字(例如

)增加列
$this->db->where('my Condition');
$this->db->update('my Table',array('name'=>'gautam','count'=>'2'));

在此,我想将2添加到count的实际列值。但我无法用update函数来完成它。我可以像

一样
$this->db->update('my Table',array('name'=>'gautam','count'=>'count+2'));

因为我只计算“2”,如果我添加我的查询,则会在我的查询中添加',如

enter code here

任何人都可以帮我找到解决方案。

3 个答案:

答案 0 :(得分:2)

$this->db->set('name', 'gautam');
$this->db->set('count', 'count+2',FALSE);
$this->db->where('my Condition');
$this->db->update('my Table');
Codeigniter中的

$this->db->set()

答案 1 :(得分:1)

试试这个:

$this->db->where('my Condition');
$this->db->set(array('count' => 'count+2', 'name' => 'gautam'), FALSE);
$this->db->update('my Table');

答案 2 :(得分:1)

您可以使用Codeigniter set函数来设置count的值和增量。 来自doc

  

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

所以你可以这样做:

    ## SS1
DRPlot_SS=ggplot(data = subset(testdatMelt,testdatMelt$variable == 'SS1'),aes(logconc_nm,value))
DRPlot_SS = DRPlot_SS +  geom_point()
DRPlot_SS = DRPlot_SS +  scale_x_log10(breaks=round(testdat$logconc_nm,2))

if((vertline$vallog[2])!= 0){
  DRPlot_SS = DRPlot_SS +  geom_smooth(method = 'nls', formula = y ~ SSfpl(x,A,B,xmid,scal),se=FALSE)
  DRPlot_SS = DRPlot_SS +  geom_vline(data=vertline,color='red',aes(xintercept = vallog[2]),alpha=.5)
  DRPlot_SS = DRPlot_SS + geom_text(data=vertline,aes(x=(vallog[2])-.5,y=max(testdatMelt$value[testdatMelt$variable=='SS1']),color='red',
                                                          label = paste('EC50 =',round(val[2],2),'nM')))}
if(vertline$vallog[2] == 0){DRPlot_area=DRPlot_area + geom_text(label='No Fit',size=10,col='red',aes(x=median(testdatMelt$logconc_nm),
                                                                                     y=max(testdatMelt$value[testdatMelt$variable=='SS1'])))}

DRPlot_SS = DRPlot_SS +  theme(legend.position='none')
DRPlot_SS = DRPlot_SSylim(0,max(testdatMelt$value[testdatMelt$variable=='SS1'])+100)