簡體   English   中英

MySQL檢索最近4分鍾內插入的行

[英]Mysql retrieve rows inserted within last 4 minutes

我希望能夠檢索最近4分鍾內插入到mysql表中的行。 我有一個名為“ when”的mysql datetime字段,可能會有所幫助,並在插入時使用現在的“ NOW()”將mysql time插入其中,例如

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

有沒有一種優雅的方法可以在哪里選擇SELECT * FROM user_actions ...(行的年齡小於4分鍾,並且action ='some value')如果不需要,可以隨意忽略'when'。

斯圖爾特

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

要么

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

您可以使用DATE_ADD,請參閱此處的文檔

例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM