Форум Камчатских радиолюбителей

Технические форумы => Компьютеры и сети => Тема начата: Varkus от 30 мая 2013, 00:01:30

Название: Хозяйке на заметку: Mysql и события, триггеры
Отправлено: Varkus от 30 мая 2013, 00:01:30
Сегодня с нескрываемой радостью обнаружил, что MySql начиная с версии 5.1 поддерживает планировщик событий!
Для его активации необходимо в файле my.cnf прописать или разкомментировать строку event_scheduler=ON

Далее прописываем имя события,

если задача одноразовая то ставим дату и время события,
если задача цикличная то: дата-время начала цикла, дата-время окончания цикла, период.
Период может измеряться ГОДАМИ, КВАРТАЛАМИ, месяцами...день, час, минута, секунда.

Далее вписываем необходимый скрипт

Также возможно добавление комментария.

Еще из плющек есть ТРИГГЕРЫ, т.е. функция выполняемая при обращение к таблице:

Пишем название триггера

выбираем таблицу, для которой пишется триггер

выполнять функцию ДО или ПОСЛЕ того как что-то(кто-то) работал с таблицей

Тип отслеживаемых событий: Insert, Update, Delete (Select не поддерживается, ХЗ по чему, а было бы здорово)

Пишем сам скрипт.

Мне не известно, нужно ли для активации триггеров производить какие-нибудь нстройки в my.cnf
Название: Re: Хозяйке на заметку: Mysql и события, триггеры
Отправлено: UDØXAU от 30 мая 2013, 22:46:52
бекапить им можно?
Название: Re: Хозяйке на заметку: Mysql и события, триггеры
Отправлено: Varkus от 31 мая 2013, 10:47:14
Не знаю на счет бэкапов, но народ в основном таким образом архивирует логи, чистит кэши.

Вылез вчера один момент не очень приятный:
1) нужно дождаться запись в таблицу
2) сразу за ней сделать еще одну запись в ТУ ЖЕ таблицу(триггером)
НО
триггер отказывается работать, ОКАЗЫВАЕТСЯ при срабатывании триггера, он блокирует таблицу, бля. И соответственно, сам же не может в неё писать. Видимо придеться воспользоваться промежуточной таблицой, т.е. мой триггер пишет в неё, а её тригер уже возвращает обратно, в ту таблицу куда надо было писать изначально. Снова костыли понеслись....

на хабре тип говорит, был на конференции Оракул, общался с теми кто код MySql теперь переписывает. В его слов они просто в негодовании от той кривости с которой были написаны эти события и триггеры. При тестировании бывало, что событие могло просто проигнорироваться несколько раз подряд.

Печаль, но выбора у меня не много, использовать крон тоже особого желания нет.
Название: Re: Хозяйке на заметку: Mysql и события, триггеры
Отправлено: UDØXAU от 01 июня 2013, 22:00:10
Мне вообще непонятно о чём ты :) Триггеры какие-то. Я дальше записи в БД в mysql не продвинулся, писал так, для себя кое-что... Так что это для меня из области шаманства