我使用codeigniter框架
例如,我有表A.我希望我的系统每2分钟自动删除表A中的所有记录
是否可以做到?
谢谢
解决方法:
您可以使用MySQL事件调度程序.
先决条件:
您必须在mysql服务器中启用event_scheduler.
检查事件调度程序是ON还是OFF
SELECT @@ event_scheduler;
要打开event_scheduler,请运行以下查询:
SET GLOBAL event_scheduler = ON;
注意:如果重新启动MYSQL Server,则将重置事件调度程序状态,除非在配置文件中写入以下内容.
对于Windows:在my.ini文件中,在[mysqld]部分下写这个
[mysqld]
event_scheduler=on
对于Linux:在my.cnf文件中
[mysqld]
event_scheduler=on
事件:
以下事件将从名为tablename的表中删除数据.
CREATE
EVENT `deleteEvent`
ON SCHEDULE EVERY 2 MINUTE STARTS '2016-03-23 00:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
DELETE FROM tablename;
该活动将首次在’2016-03-23 00:00:00’开始
之后,该事件将每隔2分钟安排一次,并将从您的表中删除数据.
您可以使用Truncate而不是DELETE.
标签:php,mysql,codeigniter
来源: https://codeday.me/bug/20190715/1465749.html