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');