Quindi, ho una tabella MySQL, denominata dipendenti.Attivatore MySQL PRIMA UPDATE - modifica valore
ID name meta
0 jack ok
1 anne del
Voglio scrivere un trigger che impedisce a una riga dove meta = 'del' aggiornare il campo meta. Quindi, se faccio:
UPDATE employees SET meta = 'busy' WHERE ID = 0
La riga dovrebbe essere aggiornato e meta sarebbe 'occupato'
Ma quando lo faccio:
UPDATE employees SET meta = 'busy' WHERE ID = 1
Il campo meta dovrebbe essere ancora 'del '
ho provato:
delimiter $$
CREATE TRIGGER updateEmployees
BEFORE UPDATE ON employees
FOR EACH ROW
BEGIN
IF OLD.meta = 'del' THEN
NEW.meta = 'del'
END IF;
END$$
delimiter ;
Ma MySQL restituisce un errore di sintassi. Qualche idea?
Il trigger non funziona ma ho deciso di utilizzare la seconda soluzione. Grazie! –
prego ": D' –
Perché TRIGGER è malvagio? È uno strumento molto potente che gli amministratori del database possono utilizzare per applicare le regole di integrità dei dati. In un ambiente in cui l'integrità dei dati è fondamentale (ad esempio, i registri aziendali) i trigger forniscono una risorsa preziosa per farli rispettare, anche negli sviluppatori di applicazioni. Ora utilizzo i trigger anche nel mio sviluppo personale, poiché impongono l'integrità dei dati per me a un piccolo overhead delle prestazioni, che verrebbe comunque perso dall'applicazione che esegue lo stesso controllo ... – lassombra