【问题标题】:How can I select and update a column value in single query with codeIgniter如何使用 codeIgniter 在单个查询中选择和更新列值
【发布时间】:2017-06-22 23:45:56
【问题描述】:

我的数据库包含一个表,在这个表中我有一列“Earned”。此列包含一些值,我必须在此列中添加一些金额(赚取的)。

现在我可以这样做..

        $this->db->select('Earned');
        $this->db->where('CustMobile', $LinkMobile);
        $query_result=$this->db->get('customers');
        $result=$query_result->row();

        $finalAmount=$result->Earned+$Commsion;

        $this->db->set('Earned', $finalAmount);
        $this->db->where('CustMobile', $LinkMobile);
        $this->db->update('customers');

我想知道如何通过单个查询更新此值?

我的数据库是这样的。

我想把这个圈出来的值 1100 改成 2000

【问题讨论】:

    标签: php mysql codeigniter codeigniter-3


    【解决方案1】:

    试试这个,

    $this->db->query("UPDATE `customers` SET `Earned` = `Earned` + $Commsion WHERE `CustMobile` = $LinkMobile");
    

    说明

    Earned = Earned + $Commsion ==> 这部分会抓取字段的值并添加新值。

    示例 - 如果 $Commsion 为 1000,而您各自的 Earned 字段为 1100。因此它将更新为 2100

    【讨论】:

      【解决方案2】:

      虽然您已接受答案,但我想为其添加活动记录查询:

      $this->db->set('Earned', 'Earned +'. $Commsion .'',false);
      $this->db->where('CustMobile', $LinkMobile);
      $this->db->update('customers');
      

      【讨论】:

      • 当您使用查询生成器时,这个更干净。
      猜你喜欢
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      相关资源
      最近更新 更多