【发布时间】:2016-10-06 09:12:40
【问题描述】:
我有一个简单的脚本,它应该删除所有超过 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,即昨天,它将被删除。
这可能是什么问题?
【问题讨论】:
-
你确定 tx 是 '' 而不是 NULL?
-
曾经尝试过
select * from orders WHERE created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR ) AND tx = ''? -
select * from orders WHERE created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR ) AND tx = ''"返回 0 行 -
select * from orders WHERE created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR ) AND tx IS NULL也返回 0 行 -
whit
tx = ''我的意思是当此列中没有任何内容时,即为空。但是如果用户没有输入任何内容,则该列不会被定义为 NULL。它只是空的
标签: mysql