MySQL触发器:到达特定日期时间时更新

2022-01-01 00:00:00 datetime sql mysql triggers

我想创建一个 MySQL 触发器,每当另一个表中的一个日期时间行到达比现在低的日期时间时,它就会更新一个表.

I want to create a MySQL trigger that updates a table everytime one of the datetime rows in a different table reaches a datetime lower than now.

我将如何做到这一点?这可能吗?

举例说明:

table_1                           table_2      
--------   -------------------    --------   -
id         1                      id         1
datetime   2011-05-10 11:11:11    counter    1

所以,当时间过去并且 NOW() 变成 2011-05-10 11:11:12 时,我想让计数器加 1.

So, when time passes and NOW() becomes 2011-05-10 11:11:12, then I want to have the counter upped by 1.

推荐答案

您应该能够使用触发器和事件调度程序来做到这一点:
- 在每次更新/插入时触发的表上创建一个触发器
- 此触发器创建在行的日期时间发生的预定事件并更新您的第二个表

You should be able to do it using a trigger and the event scheduler:
- create a trigger on the table that is fired on every update / insert
- this trigger creates a scheduled event that occurs at the datetime of the row and updates your second table

相关文章