在 codeigniter 中使用聚合函数更新列

Posted

技术标签:

【中文标题】在 codeigniter 中使用聚合函数更新列【英文标题】:update column with aggregate function in codeigniter 【发布时间】:2015-10-26 07:34:42 【问题描述】:

我想将此格式更改为类似的codeigniter格式

this->db->where('','')

这是我的代码

$data = "UPDATE dbhpl.hplpb SET hplpb.PEL_4 = (select COUNT(*) FROM pelayanan 
WHERE pelayanan.ID_AREA=hplpb.ID_AREA AND pelayanan.ID_VERIFIKASI='4' 
AND pelayanan.TRANSAKSI='PENYAMBUNGAN BARU' AND pelayanan.ESTIMASI='4' 
AND pelayanan.ID_STATUS='1')";

$this->db->query($data);

我怎样才能改变它?

【问题讨论】:

表名是 hplpd 和 pelayanan。而我要更新的表是hplpb。 【参考方案1】:

你可能想试试这个。

$data = array(
        'ID_VERIFIKASI' => '4',
        'TRANSAKSI' => 'PENYAMBUNGAN BARU',
        'ESTIMASI' => '4',
        'ID_STATUS' => '1'
);

$this->db->where($data)
         ->from('pelayanan')
         ->join('hplpb', 'hplpb.ID_AREA = pelayanan.ID_AREA', 'inner');

$count = $this->db->count_all_results();


$data = array(
    "PEL_4" => $count
);

$this->db->update('hplpb', $data);

【讨论】:

以上是关于在 codeigniter 中使用聚合函数更新列的主要内容,如果未能解决你的问题,请参考以下文章

如何测试我的 MySQL 更新查询在 CodeIgniter 中是不是成功? [复制]

使用内连接和聚合函数更新列

更新查询增量字段加 1 个 codeigniter 函数

无法使用 Codeigniter 更新数据库中的数据

CodeIgniter post 函数在开发服务器上返回 404

Codeigniter:不显示更新的值