我想从数据库中的特定表中删除时间戳早于180天的所有行。我试过这个方法:
DELETE FROM on_search WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));
但是时间是13位的unix,比如1543821263977
v9tzhpje1#
UNIX_TIMESTAMP(NOW())
以秒为单位返回时间。你必须将它乘以1000,使之成为13位数(时间单位为毫秒)。
DELETE FROM on_search WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(3), INTERVAL 30 DAY))*1000;
1条答案
按热度按时间v9tzhpje1#
以秒为单位返回时间。
你必须将它乘以1000,使之成为13位数(时间单位为毫秒)。