如何在每XX:50秒安排一次MySQL事件?
我有一个带有字段名result的MySQL表。我想使用一个事件每XX:50秒执行一次,并用一个随机数更新字段的值 需要关于每XX:50秒语法的帮助 我试过这个问题如何在每XX:50秒安排一次MySQL事件?,mysql,database,Mysql,Database,我有一个带有字段名result的MySQL表。我想使用一个事件每XX:50秒执行一次,并用一个随机数更新字段的值 需要关于每XX:50秒语法的帮助 我试过这个问题 CREATE EVENT `testEvent` ON SCHEDULE EVERY 50 SECOND DO BEGIN SET @A := (SELECT MAX(`id`) FROM `table`); UPDATE `table` SET `field` = (RAND()*18) WHERE `id` = @A;
CREATE EVENT `testEvent`
ON SCHEDULE EVERY 50 SECOND
DO BEGIN
SET @A := (SELECT MAX(`id`) FROM `table`);
UPDATE `table` SET `field` = (RAND()*18) WHERE `id` = @A;
END
使用此查询,第一次更新在00:00:50完成,然后下一次更新将在00:01:40、00:02:30完成,依此类推
但我想在00:00:50、00:01:50、00:02:50等时间执行
要每50秒执行一次更新,请执行以下操作:
CREATE EVENT myevent
ON SCHEDULE EVERY 50 SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
CREATE EVENT myevent
ON SCHEDULE EVERY '2:50' MINUTE_SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
要每2分钟50秒执行一次,请执行以下操作:
CREATE EVENT myevent
ON SCHEDULE EVERY 50 SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
CREATE EVENT myevent
ON SCHEDULE EVERY '2:50' MINUTE_SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
使用ShowProcessList检查是否启用了事件计划程序。如果它处于启用状态,您应该可以通过用户事件调度器看到进程守护进程。
使用SET GLOBAL event_scheduler=ON;如果计划程序当前未启用,则启用它。
有关配置事件调度器的详细信息
要每50秒执行一次更新,请执行以下操作:
CREATE EVENT myevent
ON SCHEDULE EVERY 50 SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
CREATE EVENT myevent
ON SCHEDULE EVERY '2:50' MINUTE_SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
要每2分钟50秒执行一次,请执行以下操作:
CREATE EVENT myevent
ON SCHEDULE EVERY 50 SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
CREATE EVENT myevent
ON SCHEDULE EVERY '2:50' MINUTE_SECOND
DO
UPDATE yourdb.yourtable SET yourcolumn = RAND();
使用ShowProcessList检查是否启用了事件计划程序。如果它处于启用状态,您应该可以通过用户事件调度器看到进程守护进程。
使用SET GLOBAL event_scheduler=ON;如果计划程序当前未启用,则启用它。
有关配置事件调度器的详细信息