Как мне удалить все записи из таблицы MySQL до определенной даты, где столбец даты находится в формате DATETIME?
Пример даты и времени: 2011-09-21 08:21:22
.
Как мне удалить все записи из таблицы MySQL до определенной даты, где столбец даты находится в формате DATETIME?
Пример даты и времени: 2011-09-21 08:21:22
.
Это помогло мне удалить данные на основе разных атрибутов. Это опасно, поэтому убедитесь, что вы сделали резервную копию базы данных или таблицы, прежде чем делать это:
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)
Показать результат до вчерашнего дня
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)
Это еще один пример использования определенных имен столбцов/таблиц.
DELETE FROM jos_jomres_gdpr_optins WHERE `date_time` < '2020-10-21 08:21:22';