Tom: PHP Session + MySQL

Beitrag lesen

Hello,

ganz großen Dank dafür, Sven!

Es funktioniert so auch auf MySQL 3.23.55
Man muss dann nur dafür sorgen, dass die Spalte ts2 beim Update nicht angefasst wird.

CREATE TABLE test1 (
  zahl int(11) NOT NULL default '0',
  ts1 timestamp(14) NOT NULL,
  ts2 timestamp(14) NOT NULL default '00000000000000'
) TYPE=MyISAM;

ts1 = Last Update
ts2 = First Entry

INSERT INTO test1 (zahl, ts2) VALUES (2, NULL);

SELECT * FROM test1;
zahl  ts1               ts2
2     20050308100309    20050308100309

UPDATE test1 SET zahl = 3 WHERE zahl = 2;

SELECT * FROM test1;
zahl  ts1               ts2
3     20050308100542    20050308100309

Offenbar hatte ich das mit den mehreren Timestamp-Spalten und der automatischen Wertzuweisung also doch verkehrt verstanden. Ich war davon ausgegangen, dass "nur die erste TS-Splate wird automatisch geführt" auch bedeuet, dass einer weiteren niemals automatisch ein Wert zugewiesen wird. Das "automatisch" bezieht sich aber nur auf das Übergeben von NULL an die erste Spalte. Unterlässt man es, sie anzusprechen, wird genauso der aktuelle Wert eingestanzt, als wenn man NULL zuweist. Bei der zweite wird aber nur updated, wenn man sie in den Values mit NULL bedenkt.

Wenn das auch irgendwo so ausführlich im MySQL-Manual stehen sollte, habe ich es wohl jedes Mal überlesen.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau