MySQL не может создавать события - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь создать EVENT для запуска по расписанию каждый день для обновления данных в таблице.Я установил event_scheduler ON в MySQL с помощью команды SET GLOBAL event_scheduler = ON;, и это то, что я вижу, когда запускаю следующее:

MariaDB [hr]> SHOW PROCESSLIST;
+-----+-----------------+-----------+------+---------+-------+--------------------------+------------------+----------+
| Id  | User            | Host      | db   | Command | Time  | State                    | Info             | Progress |
+-----+-----------------+-----------+------+---------+-------+--------------------------+------------------+----------+
|   1 | system user     |           | NULL | Daemon  |  NULL | InnoDB purge coordinator | NULL             |    0.000 |
|   2 | system user     |           | NULL | Daemon  |  NULL | InnoDB purge worker      | NULL             |    0.000 |
|   3 | system user     |           | NULL | Daemon  |  NULL | InnoDB purge worker      | NULL             |    0.000 |
|   4 | system user     |           | NULL | Daemon  |  NULL | InnoDB purge worker      | NULL             |    0.000 |
|   5 | system user     |           | NULL | Daemon  |  NULL | InnoDB shutdown handler  | NULL             |    0.000 |
| 228 | event_scheduler | localhost | NULL | Daemon  | 10486 | Waiting on empty queue   | NULL             |    0.000 |
| 613 | root            | localhost | hr   | Query   |     0 | Init                     | SHOW PROCESSLIST |    0.000 |
+-----+-----------------+-----------+------+---------+-------+--------------------------+------------------+----------+
7 rows in set (0.000 sec)

Итак, event_scheduler действительно работает.Вот как я создаю триггер:

CREATE EVENT update_attendance
  ON SCHEDULE
    EVERY 1 MINUTE
  DO
    UPDATE attendance SET markedAttendance = 1;

Когда я запускаю это, он говорит Query OK, 0 rows affected (0.000 sec), но когда я запускаю SHOW EVENTS, он возвращает пустой набор.Также, если я делаю DROP update_attendance, это событие сбрасываетТриггер никогда не выполняется ни разу.Я использую MySQL для XAMPP в Windows 10. Я не понимаю, что происходит.Что я тут не так делаю?

1 Ответ

1 голос
/ 10 июля 2019

Так что оказались поврежденные файлы MySQL под XAMPP. Когда я попытался запустить MySQL сегодня на моем компьютере, файлы были повреждены, и это не сработало, пока я не переустановил его. Теперь событие работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...