MySQL] Selbsttätiges Update bei Erreichen eines Spaltenwertes (Zeitpunkt)

Moritz123

Erfahrenes Mitglied
Hallo,

ich hätte hier mal eine kleine Verständnisfrage:
Wir haben eine Tabelle mit den Spalten (Auszug): Artikel, Enddatum, Renew, Renewed. Aktuell machen wir es so, dass wenn ein Artikel zum Zeitpunkt 'Enddatum' nicht verkauft ist und 'Renewed' < 'Renew' ist, ein kleines PHP-Script dafür sorgt, dass der Artikel durch setzen eines neuen Enddatums verlängert wird.
Da hierbei immer wieder Schwierigkeiten auftreten(manche Artikel werden aus irgendeinem Grund nicht verlängert), ist nun die Überlegung die doch recht simple Logik in die Datenbank zu verlagern und das Script und den damit verbundenen Cronjon wegzuwerfen.
Nun meine Frage: ist es möglich, in MySQL Ereignisse (in unserem Fall das Update) auszulösen wenn das Enddatum erreicht ist?

Vielen Dank und schöne Grüße,
 
Hallo XChris,

vielen Dank für deine Antwort! Das Konzept der Trigger war mir auch bekannt, allerdings bin ich immer davon ausgegangen, dass ein "Trigger" (also Insert, Update,..) notwendig ist,
um diesen auszulösen. Diesen habe ich aber ja nicht. Trigger wäre ja im Prinzip der Wert des Feldes "Enddate". Wenn dieser erreicht ist, müsste der Trigger ausgelöst werden. Dazu müsste
MySQL das Feld wahrscheinlich irgendwie überwachen und dann den Trigger auslösen. Ich vermute, das wird wohl etwas zu viel "Logik" für ein DBS sein.
 
Mist. Du hast Recht.

Ich habe Dein Problem nicht gründlich genug gelesen. Für mein Verständnis:Es gibt ein Enddatum, was automatisch verlängert werden soll. Die Verlängerung (Dauer) ist jedoch fixiert? Vielleicht könnte man das ganze Problem "umbauen". Wenn Du das Datum des Verkaufes loggst, weisst Du, wann verkauft wurde. Dazu vielleicht noch eine Information in welchem "Raster" verkauft werden soll. Dieses Raster halt ohne festes Datum, sondern in der Art, jeden Wochentag immer zur vollen Stunde oder so.
Dazu nen Einstellungsdatum und Du kannst alle Infos abfragen, die mir so einfallen ...

Chris
 
Zurück