ich habe in einer Tabelle 2 Felder als timestemp…
wenn ich via PHP dieses sende:
$query = „UPDATE my_table SET time = ‚$time_now‘ WHERE ID =
$id“;
$result=mysql_db_query(„forum“,$query);
dann werden beide Felder geändert…
ist das ein bug, oder hab ich was übersehen?
Das ist kein Bug, das ist ein Feature! Felder vom Typ Timestamp
werden automatisch auf Datum/Uhrzeit der letzten Änderung des
Datensatzes gesetzt (Einzige Ausnahme: Du setzt explizit den
Wert).
Vermutlich möchtest Du in dem Feld einen Datums-/Zeitwert ablegen
und nicht das Datum der letzen Änderung. Die ‚richtigen‘ Feldtypen
wären Date, Time oder DateTime.
ganau das wars… ich habe kurz mal an diese Möglichkeit gedacht, aber warum wenn ich den Kommand von Hand in die Datenbank eingebe habe ich den Effect nicht??
Danke
Tom
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ergänzung: Von Hand oder automatisch
Er ist egal, ob der Befehl per Hand, phpMyAdmin, cmd, Shell-Script usw.
ausgeführt wird!
Zitat aus dem mySQL-Handbuch:
„The TIMESTAMP column type provides a type that you can use to
automatically mark INSERT or UPDATE operations with the current
date and time. If you have multiple TIMESTAMP columns, only the
first one is updated automatically.“
(aus dem Abschnitt „6.2.2.2 The DATETIME, DATE, and TIMESTAMP Types“)
Im Zweifel hilft also immer ein Blick ins Handbuch
um die restlichen Klarheiten zu beseitigen
Trotzdem der Tipp: Wenn kein auto-update gewünscht wird lieber
TIME, DATE oder DATETIME verwenden.
Schönen Abend noch,
Thomas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
das ist jetzt schon alles klar, nur habe ich auf der homepage ein echo $query; gemacht, die Ausgabe habe ich dann kopiert und direkt in die mysql Datenbank eingefügt (natürlich habe ich die Zeit verändert und ein ; dahinter gemacht
-)…
dort hatte ich nur die Änderung vom ersten timestamp, via PHP sind aber beide geändert worden… das kann ich mir nicht erklären
Tom
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]