我正在尝试编写mysql查询来删除超过24小时的记录。
下面是我使用的selectsql语句
SELECT * FROM Request WHERE
timeStamp <= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))
表包含许多早于1天的记录,但此sql查询的结果为空。它也不会显示任何错误消息。
时间戳字段结构无效
Name: timeSatamp
Type: timestamp
Default: CURRENT_TIMESTAMP
有人能帮我找出这句话中的错误吗?
提前谢谢!
4条答案
按热度按时间vwhgwdsa1#
您可以使用datediff,而不是从两个日期进行比较。
datediff返回两个日期/时间戳之间的天数。
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_datediff
8e2ybdfx2#
你不需要
FROM_UNIXTIME()
所以这会满足你的要求zpf6vheq3#
您的查询应如下所示:
pgvzfuti4#
如果字段时间戳包含10位数字(如“156683636368”),则正确答案为
就像之前@akshaypjoshi建议的那样