PHP, MySQL -> Einträge automatisch überwachen?

Dying Cry

Vice Admiral Special
Mitglied seit
05.01.2002
Beiträge
971
Renomée
0
Standort
Göttingen
Hi ihr,

ich hab mal ne Frage. Ich bin grad dabei ein Browsergame zu programmieren.
Man kann da mit unter Fertigkeiten "trainieren"/"ausbauen".

Dann wird ein Eintrag in der Datenbank gemacht/aktualisiert.
Die Tabelle sieht ungefähr so aus:

id | userid | attributeid | endtime

Die ersten 3 Spalten sollten selbst erklärend sein. In Endtime steht die errechnete Zeit drin, wann der Ausbau fertig ist.

Meine Frage ist jetzt, kann man das irgendwie automatisieren, das wenn endtime <= time() ist, also abgelaufen, automatisch auf 0 gesetzt wird?

Im Moment ruf ich mit jeder Seite eine Funktion auf, die alle Einträge in der Tabelle wo endtime <= time() ist auf 0 setzt, aber ich finde, das sind mehr als nur unnötige DB Zugriffe. Deshalb wäre so eine Automatisierung recht schön.

Liebe Grüße,
 
wenn MySQL Trigger kann, kannst du es über einen BeforeInsert-Trigger machen.
 
kann es, aber erst ab der Version 5.

siehe http://dev.mysql.com/doc/refman/5.1/de/create-trigger.html

wobei ich selbst eher zu postgresql greifen würde, da hast du noch viel mehr möglichkeiten und vorallem MVCC was in deinem Fall ja auch recht wichtig sein dürfte. Hätte dann auch den Vorteil, das du Rechenintensive Programmteile direkt auf der DB in C++ realisieren könntest, was dann doch einen gewaltigen Performencesprung bringt.
 
Zuletzt bearbeitet:
Also das mit den Triggern bringt mich schonmal weiter, danke!

Die Sache mit dem postgresql hört sich auch Recht interessant an. Habe ich mich noch nie mit beschäftigt. Höre ich um ehrlich zu sein grad zum 1. Mal ;)

Ich informier mich mal drüber. Eile mit Weile...

Danke an euch beide!
 
Zurück
Oben Unten