mysql - 请问 "decay"有可能是SQL信息吗?

标签 mysql sql phpmyadmin

假设我在 SQL 数据库中有多行信息。 我希望自动删除超过 30 天的信息行。

这可能吗?

其他信息:

我正在使用提供的 SQL 日期函数来收集日期。

最佳答案

这个问题有两个方面:

  • 如何安排
  • 实际的 SQL 语句

如何安排

您有多个选择,但所有这一切都围绕着您是否会安排,或者是否会触发存储过程。

三个选项

我建议选项 1 和 2 是最好的。

SQL语句

实际的 SQL 语句非常简单,只要您有一个代表 insertDate 的字段(例如 dateField)...

delete from myTable where insertDate < DATE_SUB(NOW(), INTERVAL 1 MONTH);

您可以使用插入语句中的 NOW() 函数轻松生成此值,例如:

insert into myTable values (NOW(), 'value1', 'value2', ... , 'valueN');

在一天结束时使用事件调度程序进行调度

如果您拥有CREATE EVENT权限,这将通过 PHP MyAdmin 进行。 另请参阅:http://www.sitepoint.com/how-to-create-mysql-events/

CREATE EVENT `clean_up2`
ON SCHEDULE EVERY 1 DAY STARTS CURRENT_DATE
DO
 delete from `data` where updated_on < DATE_SUB(NOW(), INTERVAL 1 MONTH);
END;

关于mysql - 请问 "decay"有可能是SQL信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203860/

相关文章:

c++ - qt+mysql交互问题

php - 不能在 UPDATE 查询中使用子查询?

mysql - 如何从多个表中选择所有数据?

mysql - 如何连接两个显示其他表的 max() 的表

mysql - 如何将 MySQL 中现有的 RunDeck 项目导入回新的 RunDeck?

php - Swift 我应该如何存储聊天昵称?

c# - SQL 内部选择到 LINQ

mysql - 如何添加表中同一列的两种值

mysql - 删除该键的记录后,自动重新分配 MySql 表中主键的值

php - 在readynas duo上运行phpmyadmin时出现"fatal error"