gpt4 book ai didi

mysql - 在 MySQL 中安排事件

转载 作者:行者123 更新时间:2023-11-29 07:47:44 25 4
gpt4 key购买 nike

我已经尝试寻找这个答案很长一段时间了,但没有成功。这是我必须做的。我在下面的中创建了第一条记录。然后我想安排一个每周重复一次的事件,以将新记录插入到此中。我所需要的只是此事件要做的就是每周一次从中最后一行的字段添加一周。

首选输出(类似这样)

+----+------------+------------+
| id | start | end |
+----+------------+------------+
| 1 | 2014-12-04 | 2014-12-11 | <-- Manually Inputed (base dates)
| 2 | 2014-12-11 | 2014-12-18 | <-- SQL Scheduled Events below
| 3 | 2014-12-18 | 2014-12-25 | (Every Thursday :D)
| 4 | 2014-12-25 | 2015-01-01 |
+----+------------+------------+

到目前为止的 SQL 语句

INSERT INTO `publication_dates` (`id`, `Start`, `End`) VALUES (null,"2014-12-04", DATE_ADD("2014-12-04",INTERVAL +1 WEEK));

我还没有为此创建一个事件,因为我根本不知道如何从它前面的行获取信息。这将帮助我克服在 Laravel 项目中遇到的障碍。

感谢您提前抽出时间!

MySQL 系统错误

DELIMITER &&
CREATE EVENT new_publication
ON SCHEDULE EVERY 1 WEEK STARTS '2014-12-04 00:00:00'
DO BEGIN

INSERT INTO publication_dates (`Start`, `End`)
VALUES (NOW(), DATE_ADD(NOW(), INTERVAL 7 DAY));

END &&

最佳答案

您可以使用 mysql event scheduler 来实现此目的如果您也让事件创建第一行。

在您要参加的第一个日期开始事件。该事件应该运行下面的插入查询。

INSERT INTO publication_dates (`start`, `end`) 
VALUES (NOW(), DATE_ADD(NOW(), INTERVAL 7 DAY));

要使事件正常工作,您需要在启用事件调度程序的情况下启动 mysql 实例,或者您可以通过运行以下查询来打开它:

SET GLOBAL event_scheduler = ON;

然后您必须创建一个每周四(例如午夜)运行的事件。

DELIMITER &&
CREATE EVENT run_on_thursdays
ON SCHEDULE EVERY 1 WEEK STARTS <starting thursday> ENDS <ending thursday>
do begin

<the insert query from above>

END &&

这将输入第一个值,并在每个星期四不断添加一行,直到星期四结束。

关于mysql - 在 MySQL 中安排事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263137/

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