php - 使用 Cron 作业/事件调度程序 30 分钟后删除 MySQL 行

标签 php mysql cron row

我在 MySQL 和 PHP/Cron Jobs 方面是个菜鸟,所以如果你们都能轻松地解释一下在哪里放置事件等,那么无论如何,就这个问题来说,那就太好了。

问题:我有一个名为 my_Table 的表,它有一个包含 3 个字段的条目:姓名、年龄、时间戳。例如,一行有这个。山姆 | 20 |不管时间是什么。 现在,当该行达到 30 分钟时,我希望将其删除,与任何其他达到 30 分钟的行一样,谢谢大家的帮助,我已阅读其他答案,但就像我说的,我仍然是初学者并且不太明白人们在回答什么。感谢您的帮助

如果我可以使用 Cron 作业或 MySQL 事件来完成此操作(我不知道如何设置事件),那么任何人都可以提供帮助! :D

我的 30 分钟后删除代码(删除所有行,即使它们不是 30 分钟)

<?php
include_once('../config.php');

$con = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);



$runpurge = mysql_query ("DELETE FROM my_table WHERE timestamp < NOW() - INTERVAL 30 MINUTE");






?>

主要显示代码:

$result = mysql_query ("SELECT * FROM cw_LFG ORDER BY `time` DESC ") or die(mysql_error);



while ($row=mysql_fetch_array($result)) {

    echo "<tbody>";
    echo "<tr><td>";
    echo strip_tags($row['cname']);
    echo "</td><td>";
    echo $row['level'];
    echo "</td><td>";
    echo strip_tags($row['region']);
    echo "</td><td width='100px'>";
    echo timeElapsed(strtotime($row['time']));
    echo "</td><td style='word-wrap: break-word'>";
    echo strip_tags($row['comment']);
    echo "</td></tr>";
    echo "</tbody>";



}

echo "</table>";
$curtime = date('Y-m-d H:i:s');
$curtimestr = strtotime($curtime);
function timeElapsed($time) {
    $elapsedTime = time() - $time;

    if ($elapsedTime < 1) {
        return 'Right now';
    }
    if ($elapsedTime < 60){
        return '< 1 Minute ago';
    }

最佳答案

SQL 是

DELETE FROM my_table
WHERE timestamp < NOW() - INTERVAL 30 MINUTE

编写一个执行此 SQL 的 PHP 脚本,并添加一个每 30 分钟运行一次的 crontab 条目。或者使用 MySQL Event Scheduler 定期运行它;据描述here .

关于php - 使用 Cron 作业/事件调度程序 30 分钟后删除 MySQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415608/

相关文章:

php 函数不会工作不止一次

php - JWT 和 PHP : Validating a passed token (Lcobucci\JWT)

php - php while循环中的对齐问题

php - 尝试抛出自定义异常来验证电子邮件

php - 不间断的cronjob

php - MySQL 选择逻辑

mysql - 具有多个 AND OR WHERE 条件的复杂 MySQL 查询

php - 网游服务器升级最佳实践?

bash - 是否可以在 crontab 中以 root 身份运行 Bash 文件?

php - 从命令行执行 php 和 crontab 时权限被拒绝