mysql - 更新 MySQL 日期列
问题描述
假设我有下表,它有两列 id (int) 和 date_added (date)
-------------------
| id | date_added |
-------------------
| 1 | 2018-02-01 |
| 2 | 2018-02-02 |
| 3 | 2018-02-03 |
我想要实现的是每 24 小时使用 mysql 事件更新每列的日期(1 天 +)。所以例如
2018-02-01 -> 2018-02-02
2018-02-02 -> 2018-02-03
2018-02-03 -> 2018-02-04
etc
知道怎么做吗?
解决方案
默认情况下,事件调度程序被禁用。在这种情况下,您需要通过
SET GLOBAL event_scheduler=ON
现在您可以创建一个每天更新一次表格的事件:
CREATE EVENT your_event
ON SCHEDULE EVERY 1 DAY
UPDATE your_table SET date_added=DATE_ADD(date_added, INTERVAL 1 DAY)
为确保不会更新同一天的条目,您还可以在 create event 语句的末尾添加 where 子句。
推荐阅读
- java - 为什么我会收到此错误?似乎我在 s1.grade_level 中有错误,但我不知道为什么
- google-apps-script - Google表格根据另一个值检查和从列表中查找的值将值复制到不同的选项卡,然后粘贴到同一行但不同的列
- r - 如何删除 GGplot 图例中的 NA 标签?
- javascript - 当我第二次单击模式框时,CKEditor 不起作用
- c - 有没有办法打开另一个终端来访问我正在运行的同一个程序以向它传递更多的形式参数?
- swift - 如何在 Swift 中调试变量错误?
- java - 在 play 框架中处理大量 java 对象
- javascript - 从 HTML 元素 ( ) 执行 JavaScript 函数,不带条件但带参数
- rust - “部分移动后在此处使用的值”错误
- python - 如何解决 NameError:AWS Lambda 中未定义选项?