Servus!
ich hab jetzt schon ne Weile das Internet durchwühlt auf der Suche nach einer Lösung, aber finde nichts, was ich für angemessen halte. Also, was ich versuche ist ein wenig Arbeit von meinem PHP Skript an die Datenbank zu verlagern..
An einer Stelle komme ich aber nicht weiter:
Wenn in eine Tabelle ("gallery") eine neue Zeile eingefügt wird, soll in eine andere Tabelle ("pictureusers") ebenfalls eine Zeile eingefügt werden. Aber nur, falls in der neuen Zeile das Feld "cover" != -1 ist.
Den entsprechenden INSERT Query auszuführen ist per Trigger kein Problem, was ich aber nicht schaffe ist die Überprüfung.
Lösungen im Internet gehen über temporäre Tabellen, was ich für ein wenig übertrieben halte.
Meine Idee war dann über PREPARE .. FROM IF(expr, 'INSERT [...]'), aber das akzeptiert wohl keine Funktionen (oder jedenfalls kein If).
Letzte Lösung wäre das einfach einzufügen, und dann auf die pictureusers Tabelle einen Trigger, der bei einem INSERT ein DELETE WHERE SELECT spalte = -1 ausführt, d.h. die entsprechenden Zeilen wieder löscht. Das Ergebnis wären vermutlich ein vielfaches der nötigen Queries..
Also wäre die Frage: Gibt es eine sinnvolle Möglichkeit so etwas zu machen, oder sollte ich die Arbeit doch lieber bei PHP belassen?
ich hab jetzt schon ne Weile das Internet durchwühlt auf der Suche nach einer Lösung, aber finde nichts, was ich für angemessen halte. Also, was ich versuche ist ein wenig Arbeit von meinem PHP Skript an die Datenbank zu verlagern..
An einer Stelle komme ich aber nicht weiter:
Wenn in eine Tabelle ("gallery") eine neue Zeile eingefügt wird, soll in eine andere Tabelle ("pictureusers") ebenfalls eine Zeile eingefügt werden. Aber nur, falls in der neuen Zeile das Feld "cover" != -1 ist.
Den entsprechenden INSERT Query auszuführen ist per Trigger kein Problem, was ich aber nicht schaffe ist die Überprüfung.
Lösungen im Internet gehen über temporäre Tabellen, was ich für ein wenig übertrieben halte.
Meine Idee war dann über PREPARE .. FROM IF(expr, 'INSERT [...]'), aber das akzeptiert wohl keine Funktionen (oder jedenfalls kein If).
Letzte Lösung wäre das einfach einzufügen, und dann auf die pictureusers Tabelle einen Trigger, der bei einem INSERT ein DELETE WHERE SELECT spalte = -1 ausführt, d.h. die entsprechenden Zeilen wieder löscht. Das Ergebnis wären vermutlich ein vielfaches der nötigen Queries..
Also wäre die Frage: Gibt es eine sinnvolle Möglichkeit so etwas zu machen, oder sollte ich die Arbeit doch lieber bei PHP belassen?