Autor | Beitrag |
---|
000 26.10.2009, 18:25 speziFanta |
Das Topic dürfte mein Problem bereits gut beschreiben, auch wenn ich weiß, dass das so nicht geht. Folgends Problem: INSERT bietet einem die Möglichkeit dieses Problem mit einem Workaround zu lösen, indem man ON DUPLICATE KEY UPDATE verwendet, jedoch funktioniert dieser nur (afaik), wenn es sich um die gleiche Tabelle handelt.
Bei mir sind es eben nur zwei Tabellen und sich suche eine Möglichkeit diese zu verknpüfen. Gedachte hatte ich jetzt schon an einen TRIGGER BEFORE INSERT (Credits gehen an dieser Stelle an Lejean), der meinen Eintrag prüft. Aber wie sage ich dem TRIGGER jetzt, dass er mein INSERT ablehnen soll, wenn bereits ein Eintrag in der anderen Tabelle vorhanden ist? --Heute schon gegoogelt? Dieser Beitrag wurde am 26.10.2009 um 18:36 von speziFanta bearbeitet. |
Profil || Suche |
001 26.10.2009, 21:08 Bluthund |
Normalerweise würdest du in dem Fall, dass dein Bedingung nicht zutrifft, die laufende Transaktion zurückfahren (ROLLBACK). Laut Referenzhandbuch wird das (Transaktionsbefehle in SPs und Triggern) allerdings von MySQL leider nicht unterstützt. Aber vielleicht hast du Glück und es kommt noch jemand des Weges, der rosigere Nachrichten zu überbringen hat. PS: Warum besteht da überhaupt so eine Abhängigkeit im Datenmodell? Evtl. kannst du da auch etwas umstrukturieren und davon ganz wegkommen, das Einfügen in die eine Tabelle von der anderen abhängig zu machen? --The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
Profil || Suche |
002 29.10.2009, 15:16 speziFanta |
Puh... ich hatte das jetzt einfach mit einem zusätlichen Query gelöst:
Aber deine Stored Procedure ist, wenn ich das richtig verstanden habe, genau das, was ich gesucht habe. Edit: Ja, habe es jetzt mit einer Procedure gelöst und bin damit sehr zufrieden. Danke dir. --Heute schon gegoogelt? Dieser Beitrag wurde am 29.10.2009 um 16:14 von speziFanta bearbeitet. |
Profil || Suche |