使用 codeigniter 将数据库中字段的值更新为 1

Posted

技术标签:

【中文标题】使用 codeigniter 将数据库中字段的值更新为 1【英文标题】:Update the value of a field in database by 1 using codeigniter 【发布时间】:2011-03-19 07:31:02 【问题描述】:

我想使用 codeigniter 活动记录来实现一条 SQL 语句。

UPDATE tags SET usage = usage+1 WHERE tag="java";

如何使用 Codeigniter 活动记录来实现这一点?

问候

【问题讨论】:

【参考方案1】:
$this->db->set('usage', 'usage+1', FALSE);
$this->db->where('tag', 'java');
$this->db->update('tags');

【讨论】:

小注释只是为了澄清如果您将 optioanl 参数设置为 FALSE,CodeIgniter 将不会尝试使用反引号保护您的字段或表名称。 如果有人想要在执行更新后更新字段的值而不使用额外的查询 不可能的Ravinder。【参考方案2】:

你也可以使用类似的东西

$data = array('usage' => 'usage+1', *other columns*);
$this->db->where('tag', 'java');
$this->db->update('tags', $data);

更新:$data 没有被传递给更新

【讨论】:

别忘了发送您的$data$this->db->update('tags', $data) @Srihari Goud 为什么它不起作用 '$this->db->set('cu_employee_sisa_cuti',"cu_employee_sisa_cuti+cu_employee_jatah_cuti"); ' 你从哪里得到$this->db->set的方法?没有这样的..我们必须准备一个数组并在$this->db->update('tags', $data);中使用【参考方案3】:

我发现有时只编写 SQL 而不是让 Active Record 为我构建它更简单。

$sql = 'update tags set usage=usage+1 where tag=?';
$this->db->query($sql, array($tag));

【讨论】:

以上是关于使用 codeigniter 将数据库中字段的值更新为 1的主要内容,如果未能解决你的问题,请参考以下文章

只要新值与当前值不同,Oracle SQL 将字段的值更改为列表中的其他值?

如何根据特定字段的值更改行的颜色?

使用 codeigniter 活动记录获取单个字段输出的值

将字符串字段值更改为其子字符串的最有效方法

CodeIgniter - 如何将表单中的值发布为 NULL 而不是 0

使用连接(codeigniter)从单个字段中检索和打印逗号分隔符后的值