timestamp in MySql Tabelle schreiben
Rainer
- datenbank
Hallo und guten Morgen,
da das Archiv mir nicht so richtig geholfen hat (vielleicht begreife ich es auch bloss nicht) hier meine Frage:
ich möchte bei einem INSERT in die Tabelle einen timestamp setzen.
Name -> char(100)
C -> timestamp
Ich habe immer nur 00000000000000 im Feld C stehen. Muss ich den Timestamp erst errechnen, und wenn ja, wie? Ich dachte das macht MySql selber.
Gruss
Rainer
Halihallo Rainer
Name -> char(100)
C -> timestampIch habe immer nur 00000000000000 im Feld C stehen. Muss ich den Timestamp erst errechnen, und wenn ja, wie? Ich dachte das macht MySql selber.
Die erste Spalte des Typs Timestamp, sollte IMHO immer mit dem aktuellen Datum gefüllt
werden; alle anderen musst du selber setzen.
Berechnen muss man in dem Sinne auch nichts, der Timestamp ist in MySQL kein Integer, was
er eigentlich ist (so wird er in mysql nur gespeichert), sondern ein ganz normaler
"Datetime"; ich meine, du kannst Timestamp-Typen gleich verwenden/setzen, wie du dies
mit DATETIME machen würdest.
Hast du den Default auf NOW() gesetzt?
Viele Grüsse
Philipp
Hi, ich hatte gestern das gleiche Problem.
Dann habe ich den Timestamp auf NOT NULL gesetzt und dann hat er immer Zeiten angezeigt.
Knoppers
Halihallo Knoppers
mampf, du weisst doch, wie Pizza in "Space Balls 6" geendet hat, oder? ;-)
Hi, ich hatte gestern das gleiche Problem.
Dann habe ich den Timestamp auf NOT NULL gesetzt und dann hat er immer Zeiten angezeigt.
Nur aus Interesse: Beschränkt sich diese Aussage auf die erste Spalte des Typs
Timestamp, oder gilt dies für alle? - Vielleicht hast du dies ja ausprobiert.
Ich bin mir zwar ziemlich sicher (steht zumindest so in der Doku), dass nur die erste
Spalte mit dem aktuellen Wert gefüllt wird, aber vielleicht könnte es auch anders sein,
obgleich ich das nicht glaube.
Viele Grüsse
Philipp
Hallo Rainer,
Ich habe immer nur 00000000000000 im Feld C stehen. Muss ich den Timestamp erst errechnen, und wenn ja, wie? Ich dachte das macht MySql selber.
normalerweise wird das erste TIMESTAMP-Feld einer Tabelle beim Einfügen von NULL auf den aktuellen Zeitstempel aktualisiert. Sobald Du aber etwas anderes einfügst, wird versucht, einen brauchbaren Zeitstempel daraus zu machen und diesen abzulegen. Interessant wäre in dieser Hinsicht dein SQL-Statement, welches den Datensatz einfügen soll. Poste das doch einfach mal.
viele Grüße
Achim Schrepfer