MySQL Timestamp editieren
Max
- datenbank
Guten MOrgen,
ich möchte ein bestimmtes Datum in der Datenbank formatieren. Ich speiocher dieses in der Datenbank als Datentyp timestamp und möchte dieses nun über ein UPDATE editieren.
Beim Insert arbeite ich mit der MySQL-Funktion FROM_UNIXTIME nur leider wird das Datum auf 0000-00-00 00:00:00 gestzt bei einem Update mit der selben Funktion und einem timestamp in ihr.
UPDATE text SET datum = FROM_UNIXTIME(115635476456) WHERE textID = 1;
In einem solchen Fall wird mein Datenbankeintrag = 0000-00-00 00:00:00
Was mache ich falsch?
Gruß
Max
Hi,
Beim Insert arbeite ich mit der MySQL-Funktion FROM_UNIXTIME
warum willst Du in ein Datenbankfeld, dessen Inhalt als UNIXTIME definiert ist, etwas speichern, das aus einer UNIXTIME generiert wird?
In einem solchen Fall wird mein Datenbankeintrag = 0000-00-00 00:00:00
Boah, ist MySQL schlecht. Bei einem ungültigen Wertformat hat der Insert fehlzuschlagen.
Cheatah
warum willst Du in ein Datenbankfeld, dessen Inhalt als UNIXTIME definiert ist, etwas speichern, das aus einer UNIXTIME generiert wird?
Ich habe für ein Datum den Feldtyp Timestamp gewählt, dieser setzt sich in MySQL aus Jahr-Monat-Tag Stunde-Minute-Sekunde zusammen. Mit der Funktion UNIX_TIMESTAMP() kann man diese dann in sekunden formatiert auslesen und später über PHP verabeiten und ausgeben (date()). Fürs einspeichern muss man dann den Timestamp für die Datenbank generieren über FROM_UNIXTIME() (zumindest beim Insert). Leider funktioniert das aber beim Update nicht.
So bestitzt man dann die Möglichkeit die Einträge in der Datenbank besser zuordnen zu können, weil das Datum sofort lesbar ist. Falls man aus bestimmten Gründen die Einträge direkt in der Datenbank lesen muss.
Hi,
Ich habe für ein Datum den Feldtyp Timestamp gewählt, dieser setzt sich in MySQL aus Jahr-Monat-Tag Stunde-Minute-Sekunde zusammen.
stimmt, das habe ich verwechselt. Dann muss es wohl daran liegen, dass Unix-Timestamps nicht bis ins Jahr 5634 hineinreichen.
So bestitzt man dann die Möglichkeit die Einträge in der Datenbank besser zuordnen zu können, weil das Datum sofort lesbar ist.
Ein Datum lesbar zu machen ist eine Sache der Ausgabe, nicht der Speicherung.
Falls man aus bestimmten Gründen die Einträge direkt in der Datenbank lesen muss.
Wenn Du mit einem Hexadezimaleditor an die DB-Dateien gehst, dann hast Du ganz andere Probleme als die Lesbarkeit von Datumstypen. Ansonsten wirst Du immer einen Client benutzen, welcher die Aus- und Eingabe regulieren kann.
Cheatah