2011-02-14 207 views
3

我試圖讓過去5分鐘所有記錄,但它返回什麼..爲什麼這個MySQL查詢返回0結果

SELECT * FROM (`user_actions`) WHERE `IP` = '127.0.0.1' AND `type` = 'Failed Login' AND date =DATE_SUB(NOW(), INTERVAL 5 MINUTE) 
+0

數據是什麼樣的?我們可以認爲它沒有任何回報,因爲它確實沒有任何東西...... – 2011-02-14 17:22:36

回答

2

它返回什麼,因爲沒有結果你問爲......日期爲正好爲 5分鐘前。

您不應該使用=運算符爲您的DATE,您應該使用不等式。

也就是說,你想要的日期大於5分鐘,前

2

應該date >date =,這將只匹配行恰好等於時間5分鐘前。

舉個例子,如果它現在是晚上12點30分,要查找最近5分鐘內的行,你希望所有那些時間大於12:25 PM。僅查詢時間等於12:25 PM的行,不會給您在12:26 PM,12:27 PM等記錄的行。

SELECT * FROM user_actions WHERE IP = '127.0.0.1' AND type = 'Failed Login' AND date > DATE_SUB(NOW(), INTERVAL 5 MINUTE) 
相關問題