如何使用Codeigniter和MySQL更新TIMESTAMP?

时间:2013-01-25 18:56:28

标签: mysql codeigniter

如何使用Codeigniter和MySQL更新TIMESTAMP?我想用INTERVAL 1 MINUTE更新 我已经尝试了下一个代码:

$data = array('is_active' => $state, 
              'timestamp_demo' => "DATE_ADD(NOW(), INTERVAL 1 MINUTE)");
$this->db->where('demo_session_id', 'web');
$this->db->update('demo_session', $data);

但不行。我能怎么做?

2 个答案:

答案 0 :(得分:4)

尝试这样的查询

$this->db->query("UPDATE demo_session 
                  SET 
                     is_active = 1, 
                     timestamp_demo = DATE_ADD(NOW(), INTERVAL 1 MINUTE)
                  WHERE demo_session_id = 'web'");

答案 1 :(得分:4)

您可以使用Active Records执行此操作:

$this->db->where('demo_session_id', 'web');
$this->db->set('is_active', $state);
$this->db->set('timestamp_demo', 'DATE_ADD(NOW(), INTERVAL 1 MINUTE)', FALSE);
$this->db->update('demo_session');

$this->db->set()中的第三个参数阻止CodeIgniter转义数据,因此它将使用MySQL函数。

它最终会是这样的:

UPDATE 'demo_session' SET 'is_active' = $state, 'timestamp_demo' = DATE_ADD(NOW(), INTERVAL 1 MINUTE) WHERE 'demo_session_id' = 'web'