Rob*_*Rob 11 php mysql timestamp date
我在这里找到了完全相同的问题.
但这对我不起作用.我修改了一下,操纵它,我无法弄明白.我正在尝试删除超过一天的行.这是我的代码:
if (isset($_POST['prune'])) {
$sql = "DELETE FROM logs WHERE time < date('now', '-1 days')";
mysql_query($sql);
echo 'Logs older than one day removed.';
}
Run Code Online (Sandbox Code Playgroud)
我想这是一个相当简单的问题,但它却让我不知所措.我将不胜感激任何帮助.
如果它有所不同,该列是一种TIMESTAMP类型.
编辑:显然我是个白痴.我链接到你的问题与SQLite3有关.所以现在我的问题是,我怎样才能在MySQL中做到这一点?
Mar*_*ers 26
您可以减去一个间隔:
DELETE FROM logs WHERE time < now() - interval 1 day
Run Code Online (Sandbox Code Playgroud)
答案是SQLite3的IIRC.您正在使用不支持此语法的MySQL.
您想使用DATE_ADD()函数(下面的示例未经测试但应该有效):
DELETE FROM logs WHERE time < TIMESTAMPADD(DAY,-1,NOW());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11548 次 |
| 最近记录: |