09:00に開始し、22:00に停止するイベントを作成したいとします。 で実行され、5分ごとに実行されます。MySQLイベントを1日に開始および停止するには
毎日22:00にイベントを停止して にして翌日9:00に開始できますか?
09:00に開始し、22:00に停止するイベントを作成したいとします。 で実行され、5分ごとに実行されます。MySQLイベントを1日に開始および停止するには
毎日22:00にイベントを停止して にして翌日9:00に開始できますか?
この目的でMySQL Event Schedulerを使用できますが、話しているようにイベントを明示的に停止することはできません。一つの例:
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE table1 SET col1 = 100;
)(5分ごとmyEventで
DELIMITER $$
CREATE
EVENT `name_of_event`
ON SCHEDULE EVERY 5 MINUTE
DO BEGIN
CALL myEvent();
END $$
DELIMITER ;
)myEvent(呼び出されたプロシージャを呼び出すイベントを作成します。時間は午前九時00分00秒の間であるかどうかをチェック22時00分00秒
DELIMITER $$
CREATE PROCEDURE myEvent()
BEGIN
IF((DATE_FORMAT(NOW(),'%H:%m:%s') BETWEEN '09:00:00' AND '22:00:00') THEN
// Do your stuff
END IF;
END $$
DELIMITER ;
でもスケジューラhttp://dev.mysql.com/doc/refman/5.7/en/events.htmlについての詳細を読みます – Roljhon