-1
DROP EVENT `deleteTestEntries`;
CREATE DEFINER=`root`@`localhost` EVENT `deleteTestEntries`
    ON SCHEDULE EVERY 1 MINUTE
    STARTS '2018-05-25 18:17:01'
    ON COMPLETION NOT PRESERVE ENABLE DO
    DELETE FROM lead_master WHERE lead_master.lname LIKE '%Test%'

上述事件有什么问题。它的创建没有错误,但没有执行任何操作。我只是想从我的lead_master表中删除lname为'Test'的记录

4

3 回答 3

1

我终于用 cron 作业做到了。我创建了一个控制器,它调用模型函数包含删除记录的查询。并设置在特定时间间隔后调用控制器的 cron 作业。

于 2018-06-27T05:48:38.540 回答
1

进入 my.ini 文件并添加这一行,很可能这就是问题所在。

event_scheduler = on

重启mysql。显然你甚至可以即时设置它

于 2018-05-25T13:07:37.433 回答
0

我猜你不需要每分钟都有一个事件。只需定义一个视图来过滤掉您不想要的记录:

create view v_lead_master as
    select lm.*
    from lead_master lm
    where lm.lname not like '%Test%';

然后每天缓慢地安排一个工作或事件,以删除您想要的行。您的应用程序应该使用该视图。您的测试应该使用基表。

于 2018-05-25T13:09:56.720 回答