0
表xyz中有一列abc,其数据类型为int,默认值为null。我们假设表中存在一个特定的行,其中字段abc的值为空。Codeigniter IFNULL in set()mysql activerecord
我希望通过多次运行查询将abc更改为'其先前的值+其他值'。自第一次更新列的值为null以来,问题就出现了。
添加空到什么返回null,所以这不起作用:
$this->db->set('abc', $value);
我试图用这个代替:
$this->db->set('abc', "IFNULL(
ABC , 0) + $value");
但是,这会产生:
UPDATE
xyz SET
abc = 'IFNULL(
ABC , 0) + value'
但所需的查询是:
UPDATE
XYZ SET
ABC = IFNULL(
ABC , 0) + value
(不含该值的引号进行设置)
才能实现这一目标?
这不起作用或者:
$this->db->set('abc = IFNULL(
ABC , 0) + $value');