Inizio
/
Supporto database
/
Cosa sono i Trigger MySQL e come si usano?

Cosa sono i Trigger MySQL e come si usano?

Il trigger MySQL è un oggetto di database che è associato ad una tabella. Sarà attivato quando un’azione predefinita viene eseguita per la tabella. Il trigger può essere eseguito quando esegui uno dei seguenti statement MySQL sulla tabella: INSERT, UPDATE e DELETE. Può essere richiamato prima o dopo l’evento.

Puoi trovare una spiegazione dettagliata della funzionalità dei trigger, inclusa la loro sintassi, nel seguente articolo.

Tuttavia, la configurazione di un trigger MySQL richiede i privilegi da SUPERUSER MySQL.

Sui server offerti da SiteGorund, questi privilegi possono essere concessi solo su server dedicati o hosting VPS. Concedere privilegi da SUPERUSER a un utente ospitato in un server condiviso è un problema per la sicurezza e questa è la ragione per cui non possiamo farlo.

Qui c’è un esempio di un trigger MySQL:

* Prima creiamo via SSH la tabella per cui il trigger deve essere impostato:

mysql> CREATE TABLE persone (anni INT, nome varchar(150));

* Poi definiamo il trigger. Sarà eseguito prima di ogni statement INSERT per la tabella persone:

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

* Inseriamo due record per verificare il funzionamento del trigger.

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

* Infine verificheremo i risultati.

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

Condividi questo articolo