Hallo Leute,
immer wieder das Problem mit datum ..... hab ich irgendwo scho im Forum gelesen.
Trau mich die Frage eigentlich nicht stellen.
Deswegen hab ich mittlerweile wirklich etliche Stunden mit dem Nachlesen und Suchen verbracht und komm einfach nicht weiter, bzw. bin jetzt gänzlich verwirrt. Bin mir auch nicht mehr sicher, ob ich hier im richtigen Forum poste.
Ich möchte das MySQL selbst in meiner Spalte 'uebung' das Datum incl. Zeit beim insert selbstständig setzt
d. h. der wert $stamp kommt aus keinem Formular und
ich später mal damit arbeiten/rechnen kann.
Als gewünschtes Ergebnis soll nach einem select z. B. Freitag, 04. Juli 03 um 12:30 Uhr erscheinen.
1. FRAGE: WAS IST DER ZU WÄHLENDE Typ vom Feld stamp
Möglichkeiten des Typs vom Feld stamp
I. TIMESTAMP(14) www.mysql.de/doc/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.
Die automatische Aktualisierung der TIMESTAMP-Spalte geschieht unter einer der folgenden Bedingungen:
Die Spalte wird in einem INSERT-Statement nicht explizit angegeben.
Wenn Sie die TIMESTAMP-Spalte explizit auf NULL setzen.
2. FRAGE: WAS HEISST EXPLIZIT? - ist u. a. INSERT-Statement nicht explizit?
$sql="INSERT INTO uebung VALUES('', '', '$titel') "; // '$nr', '$stamp', '$titel'
Ich versteh das Ganze so, dass nr wegen autoincrement MySQL selbst setzt => funktioniert ja auch,
und dass wegen dem Typ TIMESTAMP hier MySQL auch den Zeitstempel selbst setzen muss?!
=>funktioniert aber nicht, Ergebnis: Unzulässige DATETIME-, DATE- oder TIMESTAMP-Werte werden in den ``0''-Wert des jeweiligen Typs umgewandelt ('0000-00-00 00:00:00', '0000-00-00' oder 00000000000000).
Lassen Sie MySQL die Spalte setzen, wenn die Zeile erzeugt wird. Das initialisiert sie auf das aktuelle Datum und die aktuelle Zeit.
Wenn Sie nachfolgende Aktualisierungen anderer Spalten in der Zeile durchführen, setzen Sie die
TIMESTAMP-Spalte explizit auf ihren aktuellen Wert.
3. FRAGE: WIE KANN ICH explizit auf ihren aktuellen Wert setzen?
II. DATETIME(14)
http://www.php-resource.de/forum/sho...ighlight=datum
4. FRAGE: Setzt MySQL hier auch selbst? ich denke nicht.
Habs scho mal
Wenn ich aber mit phpMyAdmin in die db reinschaue, dann seh ich wieder lauter Nullen!
Wer bringt mich bitte auf dem richtigen Weg?
Oder wo ist sowas leicht verständlich eventuell mit Muster-Script beschrieben?
Viele Grüße
fan-maec
immer wieder das Problem mit datum ..... hab ich irgendwo scho im Forum gelesen.
Trau mich die Frage eigentlich nicht stellen.
Deswegen hab ich mittlerweile wirklich etliche Stunden mit dem Nachlesen und Suchen verbracht und komm einfach nicht weiter, bzw. bin jetzt gänzlich verwirrt. Bin mir auch nicht mehr sicher, ob ich hier im richtigen Forum poste.
Ich möchte das MySQL selbst in meiner Spalte 'uebung' das Datum incl. Zeit beim insert selbstständig setzt
d. h. der wert $stamp kommt aus keinem Formular und
ich später mal damit arbeiten/rechnen kann.
Als gewünschtes Ergebnis soll nach einem select z. B. Freitag, 04. Juli 03 um 12:30 Uhr erscheinen.
1. FRAGE: WAS IST DER ZU WÄHLENDE Typ vom Feld stamp
Möglichkeiten des Typs vom Feld stamp
I. TIMESTAMP(14) www.mysql.de/doc/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.
Die automatische Aktualisierung der TIMESTAMP-Spalte geschieht unter einer der folgenden Bedingungen:
Die Spalte wird in einem INSERT-Statement nicht explizit angegeben.
Wenn Sie die TIMESTAMP-Spalte explizit auf NULL setzen.
2. FRAGE: WAS HEISST EXPLIZIT? - ist u. a. INSERT-Statement nicht explizit?
$sql="INSERT INTO uebung VALUES('', '', '$titel') "; // '$nr', '$stamp', '$titel'
Ich versteh das Ganze so, dass nr wegen autoincrement MySQL selbst setzt => funktioniert ja auch,
und dass wegen dem Typ TIMESTAMP hier MySQL auch den Zeitstempel selbst setzen muss?!
=>funktioniert aber nicht, Ergebnis: Unzulässige DATETIME-, DATE- oder TIMESTAMP-Werte werden in den ``0''-Wert des jeweiligen Typs umgewandelt ('0000-00-00 00:00:00', '0000-00-00' oder 00000000000000).
Lassen Sie MySQL die Spalte setzen, wenn die Zeile erzeugt wird. Das initialisiert sie auf das aktuelle Datum und die aktuelle Zeit.
Wenn Sie nachfolgende Aktualisierungen anderer Spalten in der Zeile durchführen, setzen Sie die
TIMESTAMP-Spalte explizit auf ihren aktuellen Wert.
3. FRAGE: WIE KANN ICH explizit auf ihren aktuellen Wert setzen?
II. DATETIME(14)
http://www.php-resource.de/forum/sho...ighlight=datum
4. FRAGE: Setzt MySQL hier auch selbst? ich denke nicht.
Habs scho mal
PHP-Code:
setlocale("LC_TIME","ge"); //Deutsche Zeit setzen
$stamp=date(); //Zeitstempel setzen
$heute=strftime("%a %d %b %Y",$stamp);//Beispiel für definieren wie (Format) unser aktueller Stand aussieht
$sql="INSERT INTO buch VALUES('', '$stamp', '$titel') ";
echo $sql; // liefert INSERT INTO uebung VALUES('', '1057318839', 'Buch A')
Wer bringt mich bitte auf dem richtigen Weg?
Oder wo ist sowas leicht verständlich eventuell mit Muster-Script beschrieben?
Viele Grüße
fan-maec
Kommentar