我需要删除表中事件列为 false 且过期日期距当前日期 30 天或更长时间的所有条目。但是如何将 30 天添加到 where CLAUSE 的时间戳中?我尝试了这个,但得到了格式错误的 SQL 异常
DELETE * FROM share
WHERE active = false
AND (expire + 30) > UNIX_TIMESTAMP();
我也无法让 timestampadd
工作。
最佳答案
DELETE FROM share
WHERE active = false
AND from_unixtime(expire) + interval 30 day > curr_date();
或者因为 Unix 时间以秒为单位:
DELETE FROM share
WHERE active = false
AND expire + (30*86400) > UNIX_TIMESTAMP();
关于mysql - 在 where 子句中向 unix 时间戳添加天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398675/