Что такое триггеры MySQL?
Прочитал уже несколько книг по mysql, но не в одной из них даже не упоминаются триггеры mysql. Поэтому появился вопрос что такое триггеры mysql? Для чего они используются? Я так понимаю, что триггеры mysql появились в последних версиях популярной СУБД, так ли это?
Твитнуть |
Триггер в Mysql это хранимая процедура, которая срабатывает на какое-либо действие, например на вставку, обновление или удаление записи, с одной стороны удобный инструмент, с другой стороны если у вас нагруженный проект, то это может нанести вред
Поддержка триггеров появилась в MySQL 5.0.2.
Триггер — это, по сути, процедура, которая исполняется непосредственно при каких либо изменениях содержимого конкретной таблицы. Т.е., триггеры служат для ловли всех изменений записей таблицы (вставка Insert, удаление Delete, обновление строки Update )
Триггер — это откомпилированная SQL-процедура, исполнение которой обусловлено наступлением определенных событий внутри реляционной базы данных.
События к которым можно привязывать триггеры в MySQL: INSERT, UPDATE, DELETE.
Время, в которое будет исполнен триггер может быть: BEFORE (до наступления заданного события) или AFTER (после него)
Триггер это процедура, которая срабатывает на определенное действие в таблице Mysql, например, вы вставили запись в таблицу и она с помощью триггера может автоматически добавить еще в одну таблицу для истории к примеру
Триггеры достаточно специфические функционал и возможно поэтому вы не встречали его в книжках, да и в большинстве случаев можно обойтись без него, но тем не менее имеет право на жизнь