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.
Concedere privilegi da SUPERUSER a un utente ospitato in un server Siteground non è possibile e dovuto al setup dei server stessi.
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)