2012-07-02 57 views
0

我希望能夠檢索最近4分鐘內插入到mysql表中的行。這可能有助於我得到一個叫做'when'的mysql日期時間字段,並且在插入時用現在的'NOW()'插入mysql時間。Mysql檢索最近4分鐘內插入的行

$query = "INSERT INTO user_actions SET user='" . $user_id . "'" . 
      ", action='" . $server_action . "'" . 
      ", `when`=NOW()"; 

是否有SELECT * FROM user_actions WHERE ...一種優雅的方式(行的年齡年輕4分多鐘和行動=「某個值」)隨意忽略「時,」如果是不需要。

問候, 斯圖爾特

回答

3
SELECT * FROM user_actions 
WHERE `when` >= addtime(now(), '-00:04:00') 

SELECT * FROM user_actions 
WHERE `when` >= now() - interval 4 minute 
2

您可以使用DATE_ADD,看到here for documentation

實施例:

SELECT * FROM `user_actions` WHERE `when` >= DATE_ADD(NOW(), INTERVAL -4 MINUTE) 
0
SELECT * FROM user_actions 
WHERE `when` >= DATE_ADD(now(), INTERVAL -4 MINUTE) 
and `action` ='someAction'