Artur: mySQLs TIMESTAMP

wenn ich folgendes

update 'tabelle' set x='y'

auf eine Tabelle anwende, die einen Feld von typ TIMESTAMP enthält, wird dieser Feld automatisch auf aktuelle Zeit gesetzt. Gibt es Wege das zu umgehen? Oder gibt es nur eins - den alten Wert auslesen und immer wieder reinzuschreiben?

Danke!

  1. Hallo!

    update 'tabelle' set x='y'

    auf eine Tabelle anwende, die einen Feld von typ TIMESTAMP enthält, wird dieser Feld automatisch auf aktuelle Zeit gesetzt. Gibt es Wege das zu umgehen? Oder gibt es nur eins - den alten Wert auslesen und immer wieder reinzuschreiben?

    Wenn Du das nicht willst wieso verwendest Du den timestamp dann? Wenn Du nur das erstelldatum haben willst, dann schreibe das beim Anlegen des Datensatzes manuell in die Datenbank.
    Oder Du verwendest bei updates "UPDATE... SET timstampfeld=timstampfeld...", mü0te so oder so ähnlich funktinieren, würde aber lieber den ersteren Weg gehen.

    Eine weitere Möglichkeit ist das verwenden von 2 Timstamp-Feldern, wenn ich mich richtig erinnere wird dann nur das 1. der beiden Felder bei Updates und Inserts verändert. D.h. auch hier müßtest Du beim Insert mauell den timestamp einfügen, z.B. mit "INSERT INTO...SET timstampfeld = now()..."

    Siehe dazu:
    http://de.mysql.com/documentation/mysql/bychapter/manual.de_Reference.html#DATETIME
    http://de.mysql.com/documentation/mysql/bychapter/manual.de_Reference.html#IDX1270
    http://de.mysql.com/documentation/mysql/bychapter/manual.de_Reference.html#UPDATE
    http://de.mysql.com/documentation/mysql/bychapter/manual.de_Tutorial.html#Date_calculations

    Grüße
    Andreas

  2. Moin!

    wenn ich folgendes

    update 'tabelle' set x='y'

    auf eine Tabelle anwende, die einen Feld von typ TIMESTAMP enthält, wird dieser Feld automatisch auf aktuelle Zeit gesetzt. Gibt es Wege das zu umgehen? Oder gibt es nur eins - den alten Wert auslesen und immer wieder reinzuschreiben?

    TIMESTAMP ist ein magisches Feld, welches automatisch den aktuellen Zeitpunkt speichert, wenn man einen Datensatz mit INSERT oder UPDATE verändert.

    Wenn du das nicht willst, nimm einen anderen Datentyp, welches zwar Datum und Zeit speichert, aber nicht automatisch aktualisiert: DATETIME zum Beispiel.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Danke Leute! Das hilft mir weiter!