next up previous contents


3.9 Datum- und Zeitstempel

Die Option 'auto_increment' für Zahlfelder haben wir bereits besprochen, etwas ähnliches gibt es auch für Datumsfelder. Wenn wir möchten, dass MySQL immer gleich das aktuelle Datum erfasst, können wir ein 'timestamp'-Feld anlegen.

mysql> alter table akten add DatumErfasst timestamp;
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from akten;
+-------------------+---------------------+--------+----+----------------+
| Titel             | Datum               | Seiten | ID | DatumErfasst   |
+-------------------+---------------------+--------+----+----------------+
| Meine erste Akte  | 2003-05-28 00:00:00 |      0 |  1 | 20030526214715 |
| Meine zweite Akte | 2003-05-01 00:00:00 |      0 |  2 | 20030526214715 |
+-------------------+---------------------+--------+----+----------------+
2 rows in set (0.00 sec)

Damit wir den gewünschten Effekt sehen können, müssen wir erneut einen Datensatz hinzufügen:

mysql> insert into akten (Titel,Datum) values ('Jetzt mit Zeitstempel',
    -> '2003-05-28');
Query OK, 1 row affected (0.00 sec)

mysql> select * from akten;
+-----------------------+---------------------+--------+----+----------------+
| Titel                 | Datum               | Seiten | ID | DatumErfasst   |
+-----------------------+---------------------+--------+----+----------------+
| Meine erste Akte      | 2003-05-28 00:00:00 |      0 |  1 | 20030526214715 |
| Meine zweite Akte     | 2003-05-01 00:00:00 |      0 |  2 | 20030526214715 |
| Jetzt mit Zeitstempel | 2003-05-28 00:00:00 |      0 |  3 | 20030526214830 |
+-----------------------+---------------------+--------+----+----------------+
3 rows in set (0.00 sec)

Bei der Abfrage sehen wir, dass der dritte Datensatz einen aktuelleren Zeitstempel besitzt als die ersten beiden Datensätze. Der Zeitstempel wird bei jedem Verändern der Datentabelle gesetzt.

Image tip.png Pro Tabelle können wir zwar mehrere 'timestamp'-Felder anlegen, automatisch ausgefüllt wird aber immer nur das erste Feld. Ein zweites 'timestamp'-Feld könnten wir z.B. dafür verwenden, um neben dem Änderungs- auch das Erfassungsdatum festzuhalten.



Dokument als PDF anzeigen -- © 2003-06-15 by Urs Pfister, CH-8057 Zürich