MySQL自动删除过期数据行

use*_*650 4 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>';

?>
Run Code Online (Sandbox Code Playgroud)

Ezh*_*hil 9

您可以尝试使用 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
Run Code Online (Sandbox Code Playgroud)

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

SET GLOBAL event_scheduler = ON;
Run Code Online (Sandbox Code Playgroud)