Dúvidas frequentes

Quais são os gatilhos do MySQL e como usá-los?

O gatilho do MySQL é um objeto de banco de dados associado a uma tabela. Ele será ativado quando uma ação definida for executada para a tabela. O gatilho pode ser executado quando executa uma das seguintes instruções do MySQL na tabela: INSERT, UPDATE e DELETE e pode ser invocada antes ou depois do evento.

Poderá encontrar explicações detalhadas sobre a funcionalidade e a sintaxe do gatilho neste artigo.

O principal requisito para executar esses Triggers do MySQL é ter privilégios de MySQL SUPERUSER.

Nos servidores oferecidos pela Bravulink, tais privilégios podem ser concedidos nas soluções de hospedagem em nuvem e dedicada. Conceder privilégios de SUPERUSER ao MySQL para um usuário hospedado em um servidor compartilhado não é possível devido a nossa configuração do servidor.

Aqui está um exemplo de um gatilho do MySQL:

Primeiro vamos criar a tabela para a qual o trigger será definido via SSH:

mysql> CREATE TABLE people (age INT, name varchar(150));

Em seguida, vamos definir o gatilho. Ele será executado antes de cada instrução INSERT para a tabela de pessoas:

mysql> delimiter //
mysql> CREATE TRIGGER agecheck BEFORE INSERT ON people FOR EACH ROW IF NEW.age < 0 THEN SET NEW.age = 0; END IF;//
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

Vamos inserir dois registros para verificar a funcionalidade do gatilho.

mysql> INSERT INTO people VALUES (-20, ‘Sid’), (30, ‘Josh’);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0

No final, vamos verificar o resultado.

mysql> SELECT * FROM people;
+——-+——-+
| age | name |
+——-+——-+
| 0 | Sid |
| 30 | Josh |
+——-+——-+
2 rows in set (0.00 sec)

 

 

  • #comosaber, #mysql, #Cpanel

Esta resposta lhe foi útil?

1 Usuários acharam útil