javascript - 如何在午夜从表中删除mysql数据?

标签 javascript php mysql sql

我有一个 mysql 表,我希望它在每晚午夜被“清空”。我在网上搜索了一个答案,但没有找到任何似乎对我有帮助的东西。我的想法是使用 javascript 获取当前时间,然后运行一个 if 语句,看看它是否等于午夜,以及是否要执行一个删除信息的 php 脚本。

Javascript:

var myVar=setInterval(function(){myTimer()},1000);

function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
    if(t == 12:00:00 AM){
            $.ajax({
                URL: 'delete.php';
            });
    };
};

删除.php:

<?php
require 'connect.php';
mysql_query("DELETE * FROM messages;");
?>

我已经通过将 if 语句中的时间设置为比实际时间早几分钟的时间来测试它,但它不起作用。

最佳答案

实现您自己的事件调度程序,尤其是作为使用 JavaScript 的网页是一个坏主意。 要么用于那个

  • 一个cron作业通过 mysql 命令行界面运行 DELETE 语句
    /path/to/mysql -u<user> -p"<password>" <db_name> -e "delete from messages"
     CREATE EVENT delete_messages_at_midnight 
     ON SCHEDULE EVERY 1 DAY STARTS CURDATE() + INTERVAL 1 DAY
     DO DELETE FROM messages;

如果您使用 MySQL 事件方法:

  • 使用 SHOW PROCESSLIST 检查事件调度程序是否已启用。如果它打开,您应该看到用户“event_scheduler”的进程“Daemon”。
  • 使用 SET GLOBAL event_scheduler = ON;如果当前未启用调度程序,则启用它。
  • 有关配置事件调度程序的更多信息,请阅读 here

关于javascript - 如何在午夜从表中删除mysql数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20533891/

相关文章:

javascript - Jquery 错误 Uncaught TypeError Object has no method 'wijmenu'

javascript - 嵌入式YouTube视频无法在全屏模式下运行

php - 需要在MYSQL中获取每个月的记录

php - 我们可以在 Codeigniter 中连接多个数据库吗?

mysql 返回固定数量的查询

javascript - ng-init 和 ng-controller 的问题

javascript - 如何使用 Square Connect API 示例解析错误( Node )

php - 如何根据纬度和经度应用过滤器?

php - 如何在 PHPExcel 构建的 xlsx 中附加 VBA 代码?

javascript - Express.js - 从 MySQL 数据库检索一行