在特定日期之前删除记录

Har*_*ker 54 mysql datetime delete-row

如何在特定日期之前删除MySQL表中的所有记录,其中日期列为DATETIME格式?

一个示例日期时间是2011-09-21 08:21:22.

Mic*_*ior 106

DELETE FROM table WHERE date < '2011-09-21 08:21:22';
Run Code Online (Sandbox Code Playgroud)


Mad*_*ddy 23

这有助于我根据不同的属性删除数据.这很危险,因此请确保在执行此操作之前备份数据库或表:

mysqldump -h hotsname -u username -p password database_name > backup_folder/backup_filename.txt
Run Code Online (Sandbox Code Playgroud)

现在您可以执行删除操作:

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 1 DAY)
Run Code Online (Sandbox Code Playgroud)

这将删除一天之前的所有数据.删除6个月前的数据:

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 6 MONTH)
Run Code Online (Sandbox Code Playgroud)


小智 10

直到昨天显示结果

WHERE DATE(date_time) < CURDATE()
Run Code Online (Sandbox Code Playgroud)

显示10天的结果

WHERE date_time < NOW() - INTERVAL 10 DAY
Run Code Online (Sandbox Code Playgroud)

在10天之前显示结果

WHERE DATE(date_time) < DATE(NOW() - INTERVAL 10 DAY)
Run Code Online (Sandbox Code Playgroud)

这些对你有用

你可以找到这样的日期

SELECT DATE(NOW() - INTERVAL 11 DAY)
Run Code Online (Sandbox Code Playgroud)