【发布时间】:2018-06-08 20:42:10
【问题描述】:
我正在寻求有关 MySQL 的帮助,非常简单的问题,但确实让我的大脑崩溃了一段时间。
我有一个名为“日志”的表,其中有“日期”的东西,即时间戳的 INT(11),因此,它使用实际的时间戳。
我要编写一个脚本,每分钟执行一条 SQL 命令,检查所有行,如果“日期”超过/等于 6 小时,我太累了,没有任何帮助。
我用过的一些命令不起作用。
DELETE FROM logs WHERE date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 6 HOUR));
DELETE FROM logs WHERE date < NOW() - INTERVAL 6 HOUR;
帮不了,所以,我在这里问你是否可以帮助我,谢谢。
【问题讨论】:
-
'INT(11) of Timestamp' 是什么意思?
-
为什么不使用真正的
TIMESTAMP数据类型? -
如果
date列包含数字时间戳,那么第一个查询应该可以工作。 -
将问题描述为“行不通”对于提供有意义的信息几乎毫无用处。查询返回是否影响 0 行?是否删除了不应该删除的行?它是否返回错误?它在什么方面不起作用?
标签: mysql date timestamp delete-row