2017-06-29 125 views
0

我想更新列'trackId'列'id'&'created_at'。我已经尝试了下面的查询,但不工作。CONCAT在使用codeigniter更新查询

$data = array(); 

$data['ip'] = $ip; 
$data['updated_at'] = time(); 
$data['trackId'] = "CONCAT(id, created_at)"; 

$this->db->where('id', 123)->update(MY_TABLE, $data); 

任何帮助,将不胜感激。

+0

如果您想更新您使用列'设置()',而不是在where子句 – Nawin

+0

@Nawin你能张贴你的答案。 –

回答

0

您可以检查CONCAT规则,你应该提到created_at值,

请查看下面的代码

$data['trackId'] = "CONCAT(trackId, created_at)"; 
1

我得到了我的答案。在@Nawin的建议之后。

$data = array(); 

$data['ip'] = $ip; 
$data['updated_at'] = time(); 
$this->db->set('trackId', "CONCAT(id, created_at)", FALSE); 

$this->db->where('id', 123)->update(MY_TABLE, $data); 

它对我来说工作正常。

+0

这就是我在身边编辑的内容......无论如何,真好 – Nawin

1

这里是我的更新CONCAT解决方案:

$data['ip'] = $ip; 
$data['updated_at'] = time(); 

$this->db->where('id', 123); 
$this->db->set("trackId", "CONCAT(id, created_at)", false); 
$this->db->update(MY_TABLE, $data);