MySQL触发器:到达特定日期时间时更新
我想创建一个 MySQL 触发器,每当不同表中的日期时间行之一达到低于现在的日期时间时,该触发器都会更新表。
我将如何实现这一目标?这可能吗?
举例说明:
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。
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.
How would I accomplish this? Is that even possible?
To illustrate:
table_1 table_2
-------- ------------------- -------- -
id 1 id 1
datetime 2011-05-10 11:11:11 counter 1
So, when time passes and NOW()
becomes 2011-05-10 11:11:12
, then I want to have the counter upped by 1.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该能够使用触发器和事件调度程序来完成此操作:
- 在表上创建一个触发器,在每次更新/插入时触发
- 此触发器创建一个在行的日期时间发生的计划事件并更新您的第二个表
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
您可以使用 MySQL 的事件调度程序。
You could use MySQL's Event Scheduler.