2011-02-14 162 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) 
相关问题