gpt4 book ai didi

MySQL 事件 'Update on Column'

转载 作者:行者123 更新时间:2023-11-29 23:49:01 25 4
gpt4 key购买 nike

我有一个名为“memo”的表,其结构如下:

+-------+-------------+-----------------------+--------+-------------------+
| id | memo | date | status | valid until |
+-------+-------------+-----------------------+----------------------------+
| 1 | title1 | 2013-01-19 03:14:07 | 0 | 2013-01-19 |
| 2 | title2 | 2013-01-19 04:14:07 | 0 | 2013-01-20 |
| 3 | title3 | 2013-01-19 05:14:07 | 0 | 2013-01-23 |
| 4 | title4 | 2013-01-19 06:14:07 | 1 | 2013-01-25 |
| 5 | title5 | 2013-01-19 07:14:07 | 1 | 2013-01-27 |
+-------+-------------+-----------------------+--------+-------------------+

我担心的是,当备忘录达到截止日期(即有效期限)时,状态应更改为 0。如何在 MySQL 触发器中执行此操作?任何想法都会很棒!

最佳答案

您需要创建一个事件来完成此任务。触发器不会有帮助,因为它们与整行关联并在插入、删除或更新时执行。编写一个计划的事件,该事件将每小时执行一次(运行频率取决于您)并检查备忘录是否有效。如果已过期,则将相应的status条目设置为1。

从这里开始 http://dev.mysql.com/doc/refman/5.1/en/create-event.html

 CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE memo SET status = 1 where sysdate()> valid until;

关于MySQL 事件 'Update on Column',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com