我試圖讓過去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)
我試圖讓過去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)
它返回什麼,因爲沒有結果你問爲......日期爲正好爲 5分鐘前。
您不應該使用=
運算符爲您的DATE
,您應該使用不等式。
也就是說,你想要的日期大於5分鐘,前
應該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)
數據是什麼樣的?我們可以認爲它沒有任何回報,因爲它確實沒有任何東西...... – 2011-02-14 17:22:36