wahsaga: MySQL

Beitrag lesen

hi,

Wenn ich jetzt aber mit dem phpMyAdmin hingehe und an dem Datensatz irgendwas ändere aktualisiert er mir immer automatisch die Splate regdate und setz die timestamp mit NOW() neu.

works as designed.

http://dev.mysql.com/doc/mysql/de/datetime.html:
"Der TIMESTAMP-Typ ist ein Typ, den Sie dafür benutzen können, um INSERT- oder UPDATE-Operationen mit dem aktuellen Datum und der aktuellen Zeit zu stempeln. Wenn Sie mehrfache TIMESTAMP-Spalten haben, wird nur die erste automatisch aktualisiert.

Die automatische Aktualisierung der TIMESTAMP-Spalte geschieht unter einer der folgenden Bedingungen:

  • Die Spalte wird in einem INSERT- oder LOAD DATA INFILE-Statement nicht explizit angegeben.
  • Die Spalte wird in einem UPDATE-Statement nicht explizit angegeben, aber ein anderer Spaltenwert ändert sich. (Beachten Sie, dass ein UPDATE, das eine Spalte auf einen Wert setzt, den diese bereits hat, nicht dazu führt, dass die TIMESTAMP-Spalte aktualisiert wird, weil MySQL das Aktualisieren in einem solchen Fall auf Effizienzgründen ignoriert.)
  • Wenn Sie die TIMESTAMP-Spalte explizit auf NULL setzen."

Nun habe ich festgestellt das der phpMyAdmin beim ändern der Daten in diesem Dropdownmenu wo die Funktionen drin stehen automatisch schon NOW() auswählt, wenn ich dies von Hand wechmache lässt er mir natürlich auch das alte Datum drinnen.

Es muss also jemand beim anlegen der Struktur für diese Spalte als Standard NOW() festgelegt haben, was auch hinkommt weil unter Standard "CURRENT_TIMESTAMP" stand.

nein, s.o.
das "weglassen" des wertes ergänzt PMA vermutlich durch spalte=spalte, um den originalen timestamp zu bewahren.

Nun meine Frage, wie kann diese autmotaisch zugeordnete Funktion wieder entfernen ?

gar nicht, weil das definiertes verhalten ist.

Wenn ich eine neue Splate anlege und den Standard auf 0000-00-00 00:00:00 stelle setzt er mir kein neues Datum, also so wie ich es haben will. Lösche ich aber regdate und llege Sie mit den gleichen Einstellungen wie die Testspalte wieder an ist die Aktualisierung wieder mit drin, also muss da irgendwo noch was abgespeichert sein

nein, siehe ebenfalls obiger link:
"Wenn Sie mehrfache TIMESTAMP-Spalten haben, wird nur die erste automatisch aktualisiert."

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }