УДАЛИТЬ Данные из MYSQL старше X дней со временем Unix в миллисекундах - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу удалить все строки с меткой времени старше 180 дней из определенной таблицы в моей базе данных.

Я пробовал это:

DELETE FROM on_search 
WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));

, но время в13-значный формат Unix, например, 1543821263977

1 Ответ

0 голосов
/ 11 декабря 2018
UNIX_TIMESTAMP(NOW())

Возвращает время в секундах.

Вам нужно умножить его на 1000, чтобы получить 13 цифр (время в миллисекундах).

DELETE FROM on_search 
WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(3), INTERVAL 30 DAY))*1000;
...