Trigger sind Datenbank-Objekte, die automatisch ausgeführt werden, wenn in einer Tabelle etwas passiert – z. B. beim Einfügen, Ändern oder Löschen von Daten. Damit kannst du Daten konsistent halten oder zusätzliche Logik hinterlegen.
🔹 Was sind Trigger?
- Trigger hängen an Tabellen.
- Sie reagieren auf
INSERT
,UPDATE
oderDELETE
. - Sie laufen entweder BEFORE oder AFTER der Aktion.
👉 Vorteil: Prozesse laufen automatisch, ohne dass der Benutzer etwas tun muss.
🔹 Beispiel: Änderungsprotokoll (Audit-Log)
Wir legen eine neue Tabelle kunden_log
an:
CREATE TABLE kunden_log ( id INT AUTO_INCREMENT PRIMARY KEY, kunde_id INT, aktion VARCHAR(20), zeitpunkt DATETIME DEFAULT CURRENT_TIMESTAMP );
Trigger: Immer wenn ein neuer Kunde angelegt wird, landet ein Eintrag im Log.
DELIMITER // CREATE TRIGGER kunde_insert AFTER INSERT ON kunden FOR EACH ROW BEGIN INSERT INTO kunden_log (kunde_id, aktion) VALUES (NEW.id, 'INSERT'); END // DELIMITER ;
Test:
INSERT INTO kunden (vorname, nachname, email) VALUES ('Lisa', 'Klein', 'lisa@example.org'); SELECT * FROM kunden_log;
🔹 BEFORE-Trigger
Beispiel: Preis darf nicht negativ sein.
DELIMITER // CREATE TRIGGER check_preis BEFORE INSERT ON produkte FOR EACH ROW BEGIN IF NEW.preis < 0 THEN SET NEW.preis = 0; END IF; END // DELIMITER ;
🔹 Trigger löschen
DROP TRIGGER IF EXISTS kunde_insert;
🔹 Übung
- Erstelle einen Trigger
bestellung_delete
, der ins Log schreibt, wenn eine Bestellung gelöscht wird. - Erstelle einen Trigger
kunde_update
, der Änderungen an Kunden im Log speichert. - Teste die Trigger mit neuen INSERT-, UPDATE- und DELETE-Befehlen.
✅ Zusammenfassung
- Trigger laufen automatisch bei
INSERT
,UPDATE
,DELETE
. - BEFORE: Daten anpassen, bevor sie gespeichert werden.
- AFTER: Aktionen nach Speicherung (z. B. Log-Eintrag).
- Praktisch für Protokollierung und Validierung.
Im nächsten Kapitel geht es um Events – zeitgesteuerte Aufgaben direkt in MariaDB.
📚 Inhaltsverzeichnis
👉 MariaDB Kapitel 1: Einführung & Installation im Terminal
👉 MariaDB Kapitel 2: Benutzer & Rechteverwaltung
👉 MariaDB Kapitel 3: Tabellen sauber anlegen (Primär- & Fremdschlüssel)
👉 MariaDB Kapitel 4: Grundbefehle & Kurzschreibweisen in der MariaDB-Konsole
👉 MariaDB Kapitel 5: CRUD-Befehle – Daten einfügen, lesen, ändern und löschen
👉 MariaDB Kapitel 6: Primär- und Fremdschlüssel – Tabellen verknüpfen
👉 MariaDB Kapitel 7: Profi-Abfragen mit JOIN, GROUP BY & Aggregatfunktionen
👉 MariaDB Kapitel 8: Indexe, Views & Transaktionen
👉 MariaDB Kapitel 9: Produktivbetrieb – Sicherheit, Backups & Verwaltung
👉 MariaDB Kapitel 10: Abschlussprojekt – Ein Mini-Shop
📚 Bonus-Kapitel Ideen
👉 MariaDB Kapitel 11: Stored Procedures – Automatisierte Abläufe
👉 MariaDB Kapitel 12: Trigger – Aktionen bei Änderungen
👉 MariaDB Kapitel 13: Events – Zeitgesteuerte Aufgaben
👉 MariaDB Kapitel 14: Sicherheit & Best Practices
👉 MariaDB Kapitel 15: Performance-Tuning & Optimierung