Поиск по сайту:
Нас утешает любой пустяк, потому что любой пустяк приводит нас в уныние (Б. Паскаль).

Что такое триггер в MySQL и как его создать?

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
21.01.2021
Как установить MySQL на Ubuntu 16.04

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

 

Что такое MySQL триггер?

Триггеры MySQL — это объекты базы данных или хранимые программы, вызываемые автоматически при выполнении определенного действия, такого как INSERT, UPDATE или DELETE для связанной таблицы базы данных. Таким образом, если вы хотите запустить триггеры базы данных на MySQL, вам нужны привилегии суперпользователя. Если вы размещаете свой сайт на общем хостинге, то вы не можете запустить какой-либо триггер MySQL.

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

В основном существуют два типа SQL-триггеров: триггеры уровня строк и триггеры уровня операторов.

Триггер уровня строки: он активируется или выполняется всякий раз, когда вам нужно вставить, обновить или удалить событие для каждой строки. Например, если вы хотите удалить 50 строк, то триггер базы данных должен быть вызван автоматически 50 раз для затронутых 50 строк.

Читать  Подключение к MySQL с помощью Perl

Триггер уровня оператора: как следует из названия, он выполняется один раз для каждой транзакции базы данных вместо того, сколько строк обновляется, удаляется или вставляется.

MySQL не поддерживает триггеры SQL уровня операторов и выполняет только триггеры уровня строк.

 

Как создать триггер MySQL?

CREATE TRIGGER [schema_name.]trigger_name
ON table_name
{FOR | AFTER | INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [DELETE]}
AS
{sql_statements}

То, что вы должны сделать, это? Определите набор инструкций SQL, которые вы хотите выполнить при срабатывании триггера. Теперь укажите, когда будет выполнен триггер, и он задается разделом {FOR | AFTER | INSTEAD OF}. Параметры INSERT, UPDATE, DELETE указывают, какие команды SQL запускают этот триггер.

Если вы хотите удалить триггер MySQL, то выполните следующую команду:

DROP TRIGGER [schema_name.]trigger_name;

Пример Триггера MySQL:

  • Откройте SSH и создайте таблицу базы данных.
mysql> CREATE TABLE student (age INT, name varchar(150));
  • Теперь определите триггер, который будет выполняться перед каждым оператором insert для таблицы student.
mysql>> delimiter //
mysql> CREATE TRIGGER agecheck BEFORE INSERT ON student FOR EACH ROW IF NEW.age < 0
THEN SET NEW.age = 0; END IF;//
Query OK, 0rows affected (0,00 sec) mysql>> delimiter ;
  • Вставьте три записи при помощи триггера:
INSERT INTO student VALUES (-10, 'andreyex'), (20, 'destroyer'), (30, 'alex');
SELECT * FROM student;
+————+———————————+
|age |  name     |
+————+———————————+
| 0  | andreyex  |
| 20 | destroyer |
| 30 | alex      |
+————+———————————+

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Рекомендуемое
Вот как сбросить настройки вашего бывшего в употреблении iMac и…

Спасибо!

Теперь редакторы в курсе.