从早于1小时的数据库中删除记录不会删除所有记录

hs1rzwqc  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(300)

我有一个简单的脚本,应该删除所有订单超过1小时,而不是提供字符串。问题是,超过1小时但今天(当前日期)下的订单不会被删除。删除昨天的所有记录是不可能的。这是我的问题

$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` i、 昨天它被删除了。
这里有什么问题?
axr492tv

axr492tv1#

我相信 curdate() 只返回日期,不返回时间:http://www.w3schools.com/sql/func_curdate.asp
i、 e.您实际上是在删除早于的订单 23:00 昨天的
更改为使用 NOW() 而不是 CURDATE() 可能会有帮助。

相关问题