Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Существует ли в mysql events, как в interbase ??
Если нет, то как можно их заменить?
Неактивен
Если имеются в виду события, наступающие по времени (как в хроне), то с 5.1 — да:
http://dev.mysql.com/doc/refman/5.1/en/ … event.html
Неактивен
DELIMITER //
CREATE EVENT old_session_del
ON SCHEDULE
EVERY 1 DAY
DO
DELETE FROM filmfanatic.Sessions WHERE DATEDIFF(CURDATE(), date) >= 7;
//
Не срабатывает этот EVENT
Причем запрос составлен правильно!
DELETE FROM filmfanatic.Sessions WHERE DATEDIFF(CURDATE(), date) >= 7;
удаляет нужные строки!
Не подскажете, в чем может быть проблема?
Неактивен
Имеются ввиду события, которые наступают при вставке\удалении\редактировании.
Неактивен
Ну и scheduler целиком включить надо
set global event_scheduler=1;
Или в конфигурационном файле --event-scheduler, чтобы включался автоматически при старте сервера
Неактивен
Имеются ввиду события, которые наступают при вставке\удалении\редактировании.
Это триггеры - http://dev.mysql.com/doc/refman/5.0/en/triggers.html
Доступны с 5.0.
Неактивен
Упс, а про триггеры я почему-то сообщение пропустил Извиняюсь
Неактивен
не совсем то ,я щас приведу пример того как это делалось на interbase
Create Trigger .....
...
After Insert
Begin
...
POST EVENT 'Name'
End;
В результате чего, после вставки записи, всем клиентам рассылалось уведомление с именем Name и в программе это отлавливалось.
Но это в Interbase, а в Mysql как?
Отредактированно alx87pr (18.05.2009 17:01:44)
Неактивен
Если имеется в виду рассылка почты, то такое в стандартной конфигурации MySQL не реализовано.
Можно сделать триггер, который после вставки формирует текст писем и записывает письма в отдельную таблицу, используя которую можно потом отдельно разослать.
Неактивен
Боюсь, что имеются в виду именно интербейзовые события. В MySQL аналогов нет, источником
общения всегда является клиент. Самое близкое, что можно придумать — периодически опрашивать
сервер о наступлении событий (записывать в табличку, например).
Неактивен
paulus написал:
Ну и scheduler целиком включить надо
set global event_scheduler=1;
Или в конфигурационном файле --event-scheduler, чтобы включался автоматически при старте сервера
Спасибо!
Неактивен