Insert Trigger

Ich möchte einen INSERT TRIGGER erstellen und weiss nicht wie. Es geht dabei um Folgendes: Aus einem HTML-Formular werden via POST in eine PHP-Datei die Formulareinträge gezogen und in eine MySQL-Datenbanktabelle eingetragen. Nun folgende vereinfachende Annahme. Gegeben sind 3 Felder,

  • Nachname
  • Vorname
  • Antwort

Die Einträge, also VALUES, aus dem Formular sollen nun nur dann in die Tabelle gelangen, wenn der Eintrag des Formularfeldes Antwort einen ganz bestimmten Begriff (zB „Test“) darstellt.

Gibt jemand also ein…

  • Becker
  • Tomas
  • Test

so soll der INSERT ausgeführt werden,

gibt dagegen jemand ein

  • Becker
  • Tomas
  • Toast

so soll der INSERT auf der MySQL abgewiesen werden.

Wie gehe ich hier am besten vor?

MFG

Oliver

CREATE TRIGGER antwort_check BEFORE INSERT ON tabellenname
FOR EACH ROW
BEGIN
IF NEW.antwort != ‚Test‘ THEN
RETURN FALSE;
END IF;
END;

das sollte das gewünschte tun, finde es aber unsinning für sowas ne trigger zu verwenden, würde das direkt in php prüfen ist nur ne unnötige belastung der db

Mahlzeit,

Ich möchte einen INSERT TRIGGER erstellen und weiss nicht wie.

hmmm. Was Du möchtest, ist eine Validierung Deiner Werte vornehmen lassen, bevor diese in die Datenbank einfließen. Das nennt man einen Check Constraint.

Dummerweise gibt es in mySQL noch keine Check Constraints. Es gibt trotzdem eine nette Methode, solche zu simulieren:
http://arjen-lentz.livejournal.com/49881.html

Das ist beinah genauso elegant wie ein echter CC. Kannst Du damit was anfangen?

Gruß

Sancho