zambas
Pixelschubser Threadstarter
Beiträge: 10 |
hallo!
ich will einen datensatz per php in die db schreiben. kein problem. bis auf die spalte timestamp. das ergebnis dort: 00000000 (weil db 8 stellen ausgibt).
kann mir jemand sagen, wie ich das insert schreiben muss, dass beim speichern das aktuelle datum übernommen wird?
mein insert sieht so aus: INSERT INTO CHANGES ('c_id', 'content', 'erstellt_dat', 'ziel_dat', 'faq') VALUES ('', '$content', '', '$zieldatum', '$faq')
"c_id" ist auf auto_increment gesetzt und "erstellt_dat" ist ein timestamp.
danke
zambas
|
zambas
Pixelschubser Threadstarter
Beiträge: 10 |
problem ist dann auch wieder das format, denn time() von gerade eben: 1044538482
das muss ich dann auch noch irgendwie umwurschteln, dass da hinterher auch ein vernünftiges datum wie: 06-03-2003 steht.
zambas
|
Whitechariot
Pixelschubser
Beiträge: 1 |
@ KeyLF
Es ist relativ unsinnig (zumindest überflüssig), in einen timestamp-Datentyp einer MySQL-Datenbank einen eigenen Wert schreiben zu wollen (wohlgemerkt reden wir von dem MySQl-Datentyp TIMESTAMP, nicht einer PHP-Variablen).
Dieser Datentyp wird nämlich bei jeder Veränderung des dazugehörigen Datensatzes automatisch von MySQL aktualisiert.
Damit dieser Automatismus funktioniert, darf im SQL-Aufruf diesem Feld entweder nur ein NULL-Wert zugewiesen werden oder es wird gar nicht explizit erwähnt.
Beispiel:
Ich habe eine Tabelle um Arbeitsberichte abzulegen, diese besteht u.a. aus den Feldern "beginn" (Typ: time), "ende" (time), "taetigkeiten" (text), usw... am Ende ist das Feld "angelegt" (Type: timestamp(14), Defaultwert NULL) definiert.
Wenn ich jetzt einen Datensatz schreibe...
$sql = "INSERT INTO berichte
( datum ,
user_id ,
berichtsart ,
beginn ,
ende ,
arbeitszeit ,
projekte ,
taetigkeiten ,
sonstiges )
VALUES
('$datum' ,
'$id' ,
'$berichtsart' ,
'$beginn' ,
'$ende' ,
'$arbeitszeit' ,
'$projekte' ,
'$taetigkeiten' ,
'$sonstiges')";
...dann wird das Feld "angelegt", welches ich selber gar nicht erwähne in meinem SQL-Statement, automatisch vom MySQL-Server mit dem Zugriffszeitpunkt beschrieben (das sieht dann so wie hier aus: 20020412123011).
Diese Nachricht wurde geändert von: Whitechariot |