Поиск по сайту:

Вижу, дитя, по словам, что твоя благородна порода!.. (Гомер).

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
21 января 2021
Как установить MySQL на Ubuntu 16.04
Как и мы, вы возможно также являетесь пользователем MySQL. Поздравляю, вы выбрали самую лучшую и популярную в мире базу данных с открытым исходным кодом. Теперь нет необходимости беспокоиться о вашем языке программирования или фреймворке, потому что MySQL предлагает разработчикам приложений все необходимое для создания информационных систем, управляемых базами данных. Сегодня мы расскажем вам о всестороннем знании триггеров MySQL, которые также известны как триггеры SQL. Если вы технически подкованы и хотите получить подробную информацию о триггерах MySQL, то вы можете прочитать эту статью.

 

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

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

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

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

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

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

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 запускают этот триггер.

Читать  Установка MariaDB на FreeBSD

Если вы хотите удалить триггер 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.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close