SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.05.2009 17:45:06

alx87pr
Участник
Зарегистрирован: 14.05.2009
Сообщений: 3

Механизм событий сервера

Добрый день. Существует ли в mysql  events, как в interbase ??
Если нет, то как можно их заменить?

Неактивен

 

#2 14.05.2009 19:13:13

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Механизм событий сервера

Если имеются в виду события, наступающие по времени (как в хроне), то с 5.1 — да:
http://dev.mysql.com/doc/refman/5.1/en/ … event.html

Неактивен

 

#3 14.05.2009 21:23:56

aka MAC
Участник
Зарегистрирован: 13.05.2009
Сообщений: 5

Re: Механизм событий сервера

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;
удаляет нужные строки!

Не подскажете, в чем может быть проблема?

Неактивен

 

#4 15.05.2009 12:45:25

alx87pr
Участник
Зарегистрирован: 14.05.2009
Сообщений: 3

Re: Механизм событий сервера

Имеются ввиду события, которые наступают при вставке\удалении\редактировании.

Неактивен

 

#5 15.05.2009 13:02:03

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Механизм событий сервера

Ну и scheduler целиком включить надо
set global event_scheduler=1;

Или в конфигурационном файле --event-scheduler, чтобы включался автоматически при старте сервера

Неактивен

 

#6 18.05.2009 02:26:28

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 848

Re: Механизм событий сервера

Имеются ввиду события, которые наступают при вставке\удалении\редактировании.

Это триггеры - http://dev.mysql.com/doc/refman/5.0/en/triggers.html
Доступны с 5.0.

Неактивен

 

#7 18.05.2009 11:57:59

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Механизм событий сервера

Упс, а про триггеры я почему-то сообщение пропустил sad Извиняюсь smile

Неактивен

 

#8 18.05.2009 15:13:15

alx87pr
Участник
Зарегистрирован: 14.05.2009
Сообщений: 3

Re: Механизм событий сервера

не совсем то ,я щас приведу пример того как это делалось на interbase

Create Trigger .....
...
After Insert
Begin
...
POST EVENT 'Name'

End;

В результате чего, после вставки записи, всем клиентам рассылалось уведомление с именем Name и в программе это отлавливалось.

Но это в Interbase, а в Mysql как?

Отредактированно alx87pr (18.05.2009 17:01:44)

Неактивен

 

#9 18.05.2009 18:04:23

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 848

Re: Механизм событий сервера

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

Неактивен

 

#10 19.05.2009 02:52:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Механизм событий сервера

Боюсь, что имеются в виду именно интербейзовые события. В MySQL аналогов нет, источником
общения всегда является клиент. Самое близкое, что можно придумать — периодически опрашивать
сервер о наступлении событий (записывать в табличку, например).

Неактивен

 

#11 21.05.2009 00:50:51

aka MAC
Участник
Зарегистрирован: 13.05.2009
Сообщений: 5

Re: Механизм событий сервера

paulus написал:

Ну и scheduler целиком включить надо
set global event_scheduler=1;

Или в конфигурационном файле --event-scheduler, чтобы включался автоматически при старте сервера

Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson