Peter Thomassen: MySQL 4.1: Unterschied zwischen TIMESTAMP und DATETIME

Hallo liebes Forum,

kann mir jemand sagen, worin der Unterschied zwischen den Typen TIMESTAMP und DATETIME liegt? Beide speichern Datums- und Zeitwerte, die Darstellung ist ab MySQL 4.1 auch immer identisch. Worin liegt der Vorteil der Verwendung von TIMESTAMP?

Danke!

Bye,
Peter

  1. Hallo,

    bitte hier antworten, ich hatte vergessen, den Haken für die E-Mail-Information bei Antwort zu setzen :-)

    Bye,
    Peter

    1. Hallo

      bitte hier antworten, ich hatte vergessen, den Haken für die E-Mail-Information bei Antwort zu setzen :-)

      Das MySQL-Handbuch erklärt dies im Abschnitt <http://dev.mysql.com/doc/mysql/en/timestamp-4-1.html@Timestamp Properties as of MySQL 4.1> recht ausführlich. MySQL 4.1 bietet aber erweiterte Möglichkeiten, um Zeitstempel flexibler einzusetzen. Das ganze ist abhängig, ob sich der Server im MAXDB-Modus befindet oder nicht.

      Solange ich einen Datensatz nicht mit einem Zeitstempel versehen will, nehme ich nie Timestamp. Für Zeitangaben ist DATETIME da.

      Freundliche Grüße

      Vinzenz

  2. echo $begrüßung;

    kann mir jemand sagen, worin der Unterschied zwischen den Typen TIMESTAMP und DATETIME liegt?

    Beide Typen haben eine unterschiedliche Aufgabe. Timestamp soll einen (aktuellen) Zeitwert festhalten, z.B. den Zeitpunkt der letzten Änderung, während DATETIME(, DATE und TIME) allgemeine Datums- und Zeitwerte speichern.

    Die Wertebereiche der beiden Typen sind auch unterschiedlich. Siehe http://dev.mysql.com/doc/mysql/en/datetime.html. Während DATETIME garantiert von '1000-01-01 00:00:00' (ohne Garantie auch frühere Werte) bis '9999-12-31 23:59:59' reicht, kann ein TIMESTAMP nur Werte von 1970-01-01 bis irgendwo im Jahr 2037 aufnehmen.

    Außerdem verwendet DATETIME 8 Byte, während ein TIMESTAMP nur 4 Byte belegt.

    Beide speichern Datums- und Zeitwerte, die Darstellung ist ab MySQL 4.1 auch immer identisch.

    Zur Anpassung der Darstellung gibt es zahlreiche Funktionen.
    "Immer" identisch ist auch nicht ganz richtig, die Default-Darstellung kann man mittels Systemvariaben einstellen.

    Worin liegt der Vorteil der Verwendung von TIMESTAMP?

    In der Funktionalität die ein TIMESTAMP-Feld gegenüber einem einfachen DATETIME mehr bietet. Ein TIMESTAMP-Feld kann sich selbständig ändern, wenn der Datensatz geschrieben wird. Diese Funktionalität wurde übrigens unter 4.1 deutlich aufgewertet.

    echo "$verabschiedung $name";