如何在表更新中安排Mysql中的事件?

时间:2016-03-09 09:35:07

标签: mysql

我希望在更新数据库表中特定字段的7天后启动操作。

我可以使用触发器在数据库表中更新字段时触发事件。但我怎么能让它等待7天。我正在寻找安排一个事件,但只能在特定时间安排。有没有办法动态设置计划时间?

1 个答案:

答案 0 :(得分:0)

有两种方法可以做到:

  1. 您在上次更新记录时存储在时间戳字段中。您计划每隔几个小时运行一次常规活动。事件的代码扫描有问题的表,并为那些记录执行需要做的事情,这些记录的时间戳是在偶数和当前时间的欲望运行之间。
  2. 如果您需要处理此类事件的记录很多,那么这是推荐的方法。缺点是事件的时间安排可能不完全准确,具体取决于您安排此事件运行的频率。

    1. 每次更新记录时,都会在7天内触发的触发器或存储过程中专门为该记录创建一个事件。
    2. 这种方法可以让您在触发事件时获得绝对准确性,但是,如果您有大量更改,则此解决方案无法很好地扩展。

      另一种解决方案可能是记录更改完成的时间,但不是事件触发,而是基于用户交互的代码。因此,如果已更新其数据的用户登录,那么您将通知他关于超过7天前完成的更新的所需内容,并且用户未看到这些事件。