我希望能够检索在最后4分钟内插入到mysql表中的行。有一个名为'的时候我有一个mysql datetime字段可能会有所帮助。然后我插入了现在' NOW()'的插入点的mysql时间。例如
$query = "INSERT INTO user_actions SET user='" . $user_id . "'" .
", action='" . $server_action . "'" .
", `when`=NOW()";
是否有一种优雅的方式来SELECT * FROM user_actions WHERE ...(行的年龄小于4分钟,动作='某些值')随时可以忽略'何时& #39;如果不需要的话。
此致 斯图尔特
答案 0 :(得分:3)
SELECT * FROM user_actions
WHERE `when` >= addtime(now(), '-00:04:00')
或
SELECT * FROM user_actions
WHERE `when` >= now() - interval 4 minute
答案 1 :(得分:2)
您可以使用DATE_ADD,请参阅here for documentation。
示例:
SELECT * FROM `user_actions` WHERE `when` >= DATE_ADD( NOW(), INTERVAL -4 MINUTE )
答案 2 :(得分:0)
SELECT * FROM user_actions
WHERE `when` >= DATE_ADD(now(), INTERVAL -4 MINUTE)
and `action` ='someAction'