Ich versuche mein Problem mal möglichst einfach darzustellen: NUTZER können OBJEKTE auf EINHEITEN anwenden. Aus Statistikgründen möchte ich mir merken, welcher Nutzer welches Objekt auf welche Einheit angewendet hat. Ich habe nun eine Tabelle der folgenden Art (vereinfacht): Tabelle OBJEKTE_BENUTZT: id | objekt_id | benutzt_von | angewendet_auf | timestamp benutzt_von ist ein Fremdschlüssel auf den Nutzernamen in der Nutzertabelle und wird auf NULL gesetzt wenn der Nutzer gelöscht wird. (ON DELETE SET NULL) angewendet_auf ist ein Fremdschlüssel auf die Einheiten-ID in der Einheitentabelle und wird auf NULL gesetzt wenn die Einheit gelöscht wird. (ON DELETE SET NULL) Das mache ich weil ich mir die Statistik sowohl pro Nutzer als auch pro Einheit merken will, und das eine auch ohne das andere existieren kann, da Einheiten unter Nutzern gehandelt werden können. (Wieviele OBJEKTE hat der NUTZER schon eingesetzt? Wieviele OBJEKTE wurden auf die EINHEIT schon angewendet?) Erst wenn beides verschwindet - also auf NULL gesetzt wird - hat der Eintrag keinen Aussagewert mehr und soll daher aus der Tabelle OBJEKTE_BENUTZT gelöscht werden. Meine bisherige Lösung ist einfach in regelmäßigen Abständen mit einem "DELETE FROM OBJEKTE_BENUTZT WHERE benutzt_von = NULL AND angewendet_auf = NULL" die überschüssigen Einträge zu löschen. Daher wollte ich wissen ob es eine Möglichkeit gibt, dass der Eintrag automatisch verschwindet, sobald beide Felder auf NULL gesetzt werden.
keine Ahnung ob das bei mysql geht, aber schau dir mal trigger an. Du kannst ein update-Trigger auf die Tabelle legen und dort macht du dein delete statement rein.
Aja das ist was ich gesucht habe denke ich. Jetzt muss ich nur noch den Trigger richtig aufsetzen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.