gpt4 book ai didi

mysql - Mysql 事件是否有可能每天持续一段时间?

转载 作者:行者123 更新时间:2023-11-29 10:40:07 36 4
gpt4 key购买 nike

我在我的数据库上创建了一个 Mysql 事件,它工作正常,但我想仅在特定的时间间隔内运行。

这是我的实际事件:

CREATE DEFINER=`admin`@`%` 
EVENT `respaldoRegPosition` ON SCHEDULE EVERY 15 MINUTE STARTS '2017-08-11 14:59:30' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
-- INSERT INTO BACKUP TABLE

INSERT INTO regPositionBACKUP (idPosition, deviceId, lastPositionTime, divisionew, longitude, divisionns, latitude, direction, gradeLon, gradeLat, speed)
-- GET DATA
SELECT idPosition, deviceId, lastPositionTime, divisionew, longitude, divisionns, latitude, direction, gradeLon, gradeLat, speed
FROM regPosition
WHERE regPosition.lastPositionTime < DATE_SUB(NOW(), INTERVAL 3 MONTH)
ORDER BY regPosition.lastPositionTime LIMIT 3000;

-- DELETE DATA FROM ORIGINAL TABLE
DELETE FROM regPosition WHERE regPosition.lastPositionTime < DATE_SUB(NOW(), INTERVAL 3 MONTH) ORDER BY regPosition.lastPositionTime LIMIT 3000;

END

可以这样做吗?

我希望它每天在 00:00:00 到 06:00:00 之间运行,间隔 10 分钟。

我可以毫无问题地创建一个执行间隔为 10 分钟的事件(每 10 分钟按计划执行一次),但是我如何才能每天运行该事件(每 1 天按计划执行一次)并每次每 10 分钟执行一次间隔。

谢谢

最佳答案

在寻找信息时,我发现此帖子可以解决我的问题。

https://dba.stackexchange.com/a/80050

谢谢大家。

[编辑]

这是我实现的解决方案:

BEGIN

DECLARE rightnow DATETIME;
DECLARE hh,mm TINYINT;

SET rightnow = NOW();
SET hh = HOUR(rightnow);
SET mm = MINUTE(rightnow);

IF hh >= 02 AND hh <= 06 THEN

-- INSERT INTO BACKUP TABLE
INSERT INTO regPositionBACKUP (idPosition, deviceId, lastPositionTime, divisionew, longitude, divisionns, latitude, direction, gradeLon, gradeLat, speed)

-- GET DATA
SELECT idPosition, deviceId, lastPositionTime, divisionew, longitude, divisionns, latitude, direction, gradeLon, gradeLat, speed
FROM regPosition
WHERE regPosition.lastPositionTime < DATE_SUB(NOW(), INTERVAL 3 MONTH)
ORDER BY regPosition.lastPositionTime LIMIT 3000;

-- DELETE DATA FROM ORIGINAL TABLE
DELETE FROM regPosition WHERE regPosition.lastPositionTime < DATE_SUB(NOW(), INTERVAL 3 MONTH) ORDER BY regPosition.lastPositionTime LIMIT 3000;

END IF;

END

因此,将此条件添加到事件的代码中,我可以始终每 10 分钟运行一次该事件,但它只会在我设置的时间间隔 (02:00-06:00) 内执行

关于mysql - Mysql 事件是否有可能每天持续一段时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45638426/

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