Подтвердить что ты не робот

Удаление записей до определенной даты

Как мне удалить все записи из таблицы MySQL до определенной даты, когда столбец даты находится в формате DATETIME?

Примером даты и времени является 2011-09-21 08:21:22.

4b9b3361

Ответ 1

DELETE FROM table WHERE date < '2011-09-21 08:21:22';

Ответ 2

Это помогло мне удалить данные на основе разных атрибутов. Это опасно, поэтому перед выполнением этого выполните резервное копирование базы данных или таблицы:

mysqldump -h hotsname -u username -p password database_name > backup_folder/backup_filename.txt

Теперь вы можете выполнить операцию удаления:

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 1 DAY)

Это приведет к удалению всех данных за один день. Для удаления данных до 6 месяцев:

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 6 MONTH)

Ответ 3

Показать результат до вчерашнего дня

WHERE DATE(date_time) < CURDATE()

Чтобы показать результаты 10 дней

WHERE date_time < NOW() - INTERVAL 10 DAY

Показать результаты до 10 дней

WHERE DATE(date_time) < DATE(NOW() - INTERVAL 10 DAY)

Они будут работать для вас

Вы можете найти даты, подобные этому

SELECT DATE(NOW() - INTERVAL 11 DAY)