====== MySQL Trigger ====== In phpMyAdmin geht es so: {{:anwendungen_und_sonstiges:triggerexample_.png|}} Bei **Zeit** gibt man **BEFORE** oder **AFTER** ein. Wichtig: Den zu bearbeitenden Datendatz kann man nur mit **BEFORE** anpassen. **AFTER** ist dann wichtig, wenn man über die Manipulation eines Datensatzes hinaus noch Änderungen in der Datenbank ausführen muss. Das **Ereignis** bezieht sich auf den Vorgang in der Tabelle, der den Trigger auslösen soll. Möglich ist **INSERT**, **UPDATE**, und **DELETE**. In der Definition schreibt man hinein, was der Trigger machen soll. Mehrere Anweisungen muss man mit **BEGIN** und **END** umfassen und die einzelnen Kommandos mit Semikolon abschließen. Wenn man sich auf den getriggerten Datensatz beziehen will, kann man die Schlüsselwörter //Old// und //New// verwenden. Abhängig vom gewählten Ereignis gibt es dabei nur bestimmte Schlüsselwörter: |Ereignis|Old|New| |INSERT|Nein|Ja| |UPDATE|Ja|Ja| |DELETE|Ja|Nein| Der //Old//-Datensatz ist dabei vor Veränderungen stets geschützt. Bei **Ersteller** muss ein gültiger Datenbankbenutzer angegeben werden. In meiner derzeit genutzten Version funktioniert es nur mit der %-Angabe (für "beliebiger Host"). {{tag>[MySQL Trigger]}}