1

如何使用 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);

但不行。我能怎么做?

4

2 回答 2

4

尝试这样的查询

$this->db->query("UPDATE demo_session 
                  SET 
                     is_active = 1, 
                     timestamp_demo = DATE_ADD(NOW(), INTERVAL 1 MINUTE)
                  WHERE demo_session_id = 'web'");
于 2013-01-25T19:13:33.013 回答
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'

于 2013-02-05T22:10:22.553 回答