Thema: MySQL Trigger
Einzelnen Beitrag anzeigen
  #1  
Alt 22.04.2008, 11:47:41
snuger snuger ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 1
MySQL Trigger

Hallo alle zusammen,

ich suche seit knapp zwei Tagen eine Lösung zu einem MySQL Problem. Ich verwende als DB MySQL 5.0 mit InnoDB Tabellen. Verwende InnoDB um Transaktionssicherheit sowie referentielle Integrietät zu erhalten. Die möchte ich mir mit einem Trigger weiter sicher, jedoch will MySQL nicht so wie ich.

Mein Problem, ich habe mehrere Tabellen die miteinander verknüpft sind.
Verbindungen: A ------------ B ------------ C -------------- A
Beziehungen: n:m 1:1 n:m

Wenn ich einen Datensatz in die Tabelle zwischen A und B einfüge (wegen n:m Beziehung), möchte ich sicherstellen, das der Datensatz auch wirklich über die Tabelle C zu dem richtigen A gehört. Ich hab mir hierfür auch schon einen Trigger zusammengebaut. Jedoch funktioniert der Trigger nicht so wie ich will. Sobald ein Datensatz in die Tabelle zwischen A und B eingefügt wird soll der Trigger gestartet werden und über C, A überprüfen. Ist keine integrietät gegeben, soll der Trigger ein Rollback vornehmen wie es beim MS SQL Server funktioniert.

Laut dem MySQL Referenzhandbuch ist jedoch ein Rollback innerhalb eines Triggers nicht erlaubt. Weiß zufällig einer wie ein Trigger abgebrochen werden kann und somit das einfügen rückgängig gemacht wird?

Schon mal vielen Dank im vorraus!
Mit Zitat antworten