我试图在过去的5分钟内获得所有记录,但它什么也没有返回..
SELECT * FROM (`user_actions`) WHERE `IP` = '127.0.0.1' AND `type` = 'Failed Login' AND date =DATE_SUB(NOW(), INTERVAL 5 MINUTE)
答案 0 :(得分:2)
它没有返回任何内容,因为没有任何结果可以满足您的要求.... 完全 5分钟前的日期。
您不应该将=
运算符用于DATE
,您应该使用不等式。
也就是说,您希望日期大于5分钟前
答案 1 :(得分:2)
它应该是date >
而不是date =
,它只匹配完全等于5分钟前的时间的行。
例如,如果当前是下午12:30,要查找最近5分钟内的行,您需要时间大于12:25 PM的所有行。仅查询时间等于12:25 PM的行不会给你那些记录在下午12:26,下午12:27等等。
SELECT * FROM user_actions WHERE IP = '127.0.0.1' AND type = 'Failed Login' AND date > DATE_SUB(NOW(), INTERVAL 5 MINUTE)