我有简单的脚本,应该删除超过1小时的所有订单而不提供字符串。问题是今天(当前日期)超过1小时BUT的订单不会被删除。它删除了昨天的所有记录。这是我的查询
$select = "DELETE FROM orders
WHERE created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR )
AND tx = ''";
$conn->exec($select);
created_at
位于timestamp
,看起来像2016-10-06 08:33:14
。
我的订单为created_at
- 2016-10-06 08:33:14
,当前日期和时间为2016-10-06 12:10:23
但未删除,但如果我将此订单的日期更改为2016-10-05 12:10:23
,即昨天它被删除了。
这里有什么问题?
答案 0 :(得分:0)
我相信curdate()
只返回日期而非时间:http://www.w3schools.com/sql/func_curdate.asp
即。您实际上是在删除早于23:00
的订单
更改为使用NOW()
代替CURDATE()
可能会有所帮助。