【发布时间】:2014-03-15 09:20:51
【问题描述】:
$datediff = "DELETE FROM table1 * WHERE date = DATEADD(day,-1,CURDATE())";
$link->query($datediff);
我正在尝试使用 DATEADD 删除我的数据库中的表中从 CURDATE 一天前的所有记录。但是,当使用上述代码时,我 无法成功删除这些记录。日期是使用 CURRENT_TIMESTAMP 放入我的数据库中的。
我试过了:
- 使用“dd”代替“day”
- 在单词“day”周围加上单引号
- 使用 CURDATE() 的替代方法,例如 CURRENT_TIMESTAMP 和 GETDATE()
有没有人对尝试什么有任何建议,或者看到我做错了什么来阻止它工作?提前谢谢你。
【问题讨论】:
-
哪个rdbms?不能两者兼有
-
@Alexander rdbms 是什么意思?
-
我会更改查询,使其读取前一天午夜和前一天 23:59:59 之间的日期。
-
@nickatnite 关系数据库管理系统。基本上:您拥有哪个数据库,MySql 或 Sql Server。您为两者都标记了您的问题,但它们是不同的系统,您也可以在标签的说明中阅读(将鼠标悬停在它们上方)。
-
@GolezTrol 谢谢你的解释。我不知道。不过,这与 Sql Server 有关。我将更新标签以反映...