0

過去 4 分以内に mysql テーブルに挿入された行を取得できるようにしたいと考えています。「when」という名前のmysql日時フィールドを取得し、現在の「NOW()」を使用して挿入時点のmysql時間を挿入すると役立つ場合があります。

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

SELECT * FROM user_actions WHERE ... (行の経過時間は 4 分未満で、action = 'some value') のエレガントな方法はありますか?

よろしく、スチュアート

4

3 に答える 3

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

また

SELECT * FROM user_actions 
WHERE `when` >= now() - interval 4 minute
于 2012-07-02T10:54:54.270 に答える
2

DATE_ADD を使用できます。ドキュメントについては、こちらを参照してください。

例:

SELECT * FROM `user_actions` WHERE `when` >= DATE_ADD( NOW(), INTERVAL -4 MINUTE )
于 2012-07-02T10:58:26.587 に答える
0
SELECT * FROM user_actions 
WHERE `when` >= DATE_ADD(now(), INTERVAL -4 MINUTE)
and `action` ='someAction'
于 2012-07-02T11:37:30.313 に答える