1

我有一个带有字段名称结果的 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;   

END

使用此查询第一次更新在 00:00:50 完成,然后下一次更新将在 00:01:40、00:02:30 等完成。

但我想在 00:00:50、00:01:50、00:02:50 等执行它。

4

1 回答 1

12

MySql 事件

每 50 秒执行一次更新:

CREATE EVENT myevent
ON SCHEDULE EVERY 50 SECOND
DO
   UPDATE yourdb.yourtable SET yourcolumn = RAND();

每 2 分 50 秒执行一次:

CREATE EVENT myevent
ON SCHEDULE EVERY '2:50' MINUTE_SECOND
DO
   UPDATE yourdb.yourtable SET yourcolumn = RAND();

用于SHOW PROCESSLIST检查是否启用了事件调度程序。如果它打开,您应该看到Daemon用户“ ”的进程“ event_scheduler”。SET GLOBAL event_scheduler = ON;如果当前未启用,则用于启用调度程序。有关在此处配置事件调度程序的更多信息

于 2013-01-26T19:41:38.717 回答