如何用php或cronjob每天截断表格?

时间:2018-01-21 11:49:17

标签: php truncate

我想每天自动截断表。我正在使用这种方法,它正在工作。

Label

我正在使用带有提交按钮的代码,然后截断表格,这是非常好的工作。

我如何自动截断表格?我正在尝试使用if-else和ajax

进行strtotime

2 个答案:

答案 0 :(得分:2)

您只能使用MySQL创建此内容,请阅读有关MySQL Events

的更多信息
  

MySQL事件是根据计划运行的任务。因此,我们   有时将它们称为预定事件。创建活动时   您正在创建包含一个或多个SQL的命名数据库对象   开始时以一个或多个定期间隔执行的语句   并在特定日期和时间结束。从概念上讲,这是类似的   对于Unix crontab (也称为“cron job”)或者   Windows Task Scheduler

例如:

CREATE EVENT IF NOT EXISTS my_truncater
  ON SCHEDULE AT CURRENT_TIMESTAMP
  DO
    TRUNCATE TABLE myTable

要定期重复您的活动,请使用every代替AT: -

  

要定期重复操作,请使用EVERY子句。该   每个关键字后跟一个间隔,如前面所述   讨论AT关键字。 (+ INTERVAL不与每个人一起使用。)For   例如,每周6周意味着“每六周一次”。

所以示例如下: -

CREATE EVENT IF NOT EXISTS my_truncater
  ON SCHEDULE EVERY 24 HOURS
  DO
    TRUNCATE TABLE myTable

了解更多详细信息/功能,请查看man page了解Events的语法,同样重要的是查看Events的{​​{1}}权限在MySQL中。

cronjob方式: -

- 创建可执行文件[PHP文件/ SQL文件...等] - 假设您将选择PHP,请创建一个新文件example.php

$query = "TRUNCATE TABLE myTable";

/* your mysqli/pdo connection & queries */

- 将以下命令添加到/etc/cron.daily目录的bash脚本:

$ php /path/to/example.php

答案 1 :(得分:0)

另一个解决方案是创建一个调用脚本的cron作业,该脚本截断数据库中的表。