2010-07-22 132 views

回答

31
$this->db->set('usage', 'usage+1', FALSE); 
$this->db->where('tag', 'java'); 
$this->db->update('tags'); 
+0

對小記我只想澄清,如果你設置的optioanl參數FALSE,CodeIgniter不會試圖用反引號保護你的字段或表名。 – jkilbride 2010-07-22 08:36:53

+0

另一個小紙條,你錯過了第一行中的分號:) – jeff 2014-01-25 17:50:26

+0

你可以在同一個更新中使用多個set()嗎? – 2015-06-24 23:32:07

0

我發現它有時簡單到只寫SQL,而不是活動記錄建立對我來說。

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

您也可以使用這樣的事情

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

UPDATE:$數據沒有被傳遞到更新

+1

不要忘記發送你的'$ data'。 '$ this-> db-> update('tags',$ data)' – 2014-06-04 04:10:39

+0

對我不起作用 – abimelex 2014-06-11 14:10:16

+0

將代碼粘貼到此處。 – 2014-06-12 11:34:05

相關問題