php - 自动删除 MySQL 中的过期数据行

标签 php mysql sql

我在数据库的 bonusdetails 表中添加了一些奖金代码行。所有红利代码都有到期日。

是否可以通过php自动删除已经过期的行?我使用的代码是(有效期为日期):-

$query = "select * 
          from bonusdetails 
          where BonusType='Match Bonus' 
          order by Validity ASC limit 0,30;";

$result = mysql_query($query);

echo '<table>';
.....
.....
.....
echo '</table>';

?>

最佳答案

您可以尝试为此使用 MySQL 事件:

CREATE EVENT IF NOT EXISTS `dbName`.`eventName`
ON SCHEDULE
EVERY 1 DAY // or 1 HOUR
COMMENT 'Description'
DO
BEGIN

DELETE FROM `dbName`.`TableName` WHERE `expireDateCol` < NOW();

END

请注意,您的服务器需要启用 MySQL Event Scheduler:

SET GLOBAL event_scheduler = ON;

关于php - 自动删除 MySQL 中的过期数据行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24568399/

相关文章:

php - 文件对于直接从 php-cli 运行的 php 代码是可读的,对于通过 bash 脚本中的 php-cli 运行的 php 代码是不可读的

javascript - 当你转义数字时会发生什么?

PHP获取URL字符串参数?

php - Jaxl 没有使用示例做任何事情。 Facebook 聊天尝试

java - 使用 MySQL 触发器调用 Java 方法

mysql - 为什么这些表大小相同?

mysql - 当查询返回多行时返回第一行的单个值

mysql - 死锁后在 MySQL 中重新启动事务

sql - 嵌套的物化 View 找出提交时的操作?

html - sql 从存储的 html 中提取所有 img src 标签