mos*_*toh 3 php mysql codeigniter
我使用codeigniter框架
例如,我有表A.我希望我的系统每2分钟自动删除表A中的所有记录
是否可以做到?
谢谢
您可以使用MySQL事件调度程序.
先决条件:
您必须在mysql服务器中启用event_scheduler.
检查事件调度是否ON或OFF
SELECT @@event_scheduler;
要转动event_scheduler,请ON运行以下查询:
SET GLOBAL event_scheduler = ON;
注意:如果重新启动,MYSQL Server则将重置事件调度程序状态,除非在配置文件中写入以下内容.
对于Windows:在my.ini文件中,在下面的[mysqld]部分中写下
[mysqld]
event_scheduler=on
Run Code Online (Sandbox Code Playgroud)
对于Linux:在my.cnf文件中
[mysqld]
event_scheduler=on
Run Code Online (Sandbox Code Playgroud)
事件:
以下事件将从名为table的表中删除数据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;
Run Code Online (Sandbox Code Playgroud)
该事件将在第一次启动'2016-03-23 00:00:00'
,之后将每隔2分钟安排一次事件,并将从您的表中删除数据.
你可以用Truncate而不是DELETE.