我试图让过去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