phpbar.de logo

Mailinglisten-Archive

[php] MySQL: timestamp-Feld - wann wird das aktuallisiert?

[php] MySQL: timestamp-Feld - wann wird das aktuallisiert?

Andreas Heigl a.heigl at wdv.de
Don Jun 16 14:25:32 CEST 2005


Jürgen Mayer schrieb:

> hallo,
> 
> In einer MySQL-Tabelle habe ich ein Datumsfeld vom Typ "timestamp"
> 
> Wenn ich nun in meinem PHP-Script ein Update auf einen Datensatz fahre und
> dabei diese mit den selben Werte beschreiben wie dort schon drinsteht wird das
> Datumsfeld nicht aktuallisiert.
> 
> Sobald aber ein Feldinhalt sich von den Werten die schon in diesem Datensatz
> drinstehen unterscheidet wird das Datumsfeld wunderbar automatisch vom der
> MySQL-Datenbank aktualisiert.
> 
> Mir ist klar das für dieses Verhalten [keine Änderung des Timestamps wenn sich
> die Daten nicht ändern] schon gute Gründe sprechen.
> 
> Gibt es aber eine elegante Möglichkeit den Timestamp immer zu setzen unabhänig
> von den Werten in die Datenbank geschrieben werden?
> 
> Meine jetztige Lösung ist das ich zuerst ein Feld mit 0 beschreibe und dann im
> zweiten Schritt dieses Feld auf den aktuellen Wert setzte ist mir etwas zu
> "unelegant" ;-)
Verwende nicht den Feldtyp 'Timestamp' sondern 'integer' und schreibe bei
jeder Änderung einen von PHP generierten Timestamp rein.
Alternativ verwende ein zweites Timestamp-Feld, in das du immer den
aktuellen Timestamp einträgst.
Dann hast du sogar einen Timestamp, wann das letzte mal was aufgerufen wurde
UND was verändert wurde.

So hab ich das bei mir immer gelöst, wenn ich einen Timestamp brauche, bei
dem ich selbst bestimme, was da drinsteht.

Grüße

Andreas
-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive