Frage von Mickan1994, 31

Aktuelles Datum in SQL Datenbank einfügen?

Hallo,

ich habe diverse Codes mit denen ich ein Formular in eine Datenbank eintrage und per Cronjob täglich bzw. monatlich als Tabelle per eMail versende.

Nun möchte ich gerne, dass in einer Spalte jeweils das aktuelle Datum+Zeit beim Absenden des Formulars, bzw. beim automatischen Senden der Cronjob-Mail eingetragen wird

Ich dachte ich mache das ganz einfach per INSERT INTO tabelle (EINTRAGEDATUM) VALUES (now()). In der Datenbank habe ich die Spalte als "DATETIME" formatiert. Leider funktioniert es nicht so wie es soll.

Hat jemand einen Tipp?

Antwort
von Minilexikon, 9

Was passiert denn genau bzw. welchen Fehler bekommst du zurück?

Now() enthält das gesamte Datum. Versuche einmal folgendes:


INSERT INTO tabelle (EINTRAGEDATUM) VALUES (DATE_FORMAT(Now(),'%Y-%m-%d %H:%i:%S'))

Oder du nimmst GETDATE(). Das sollte dir das auch richtig zurückliefern.

Antwort
von wotan38, 7

Mit INSERT fügt man einen neuen Satz in eine vorhandene Tabelle ein. Ich habe da meine Zweifel, ob Du das überhaupt willst. Es erscheint mir sinnlos, einen Satz einzufügen, in dem nichts anderes als das Tagesdatum steht.

Ich vermute mal, dass es Dir darum geht, ein im Datenzatz (Zeile) einer Tabelle ein Feld mit dem Tagesdatum zu belegen. Das ginge z.B. mit

UPDATE tabelle, SET tagesdatum = CURRENT DATE WHERE ...

Das Schlüsselwort für Tagesdatum lautet CURRENT DATE, das Du überall dort verwenden kannst, wo normalerweise ein Kalenderdatum angegeben wird. Also statt '21.10.2016' schreibst CURRENT DATE (aber ohne Hochkommata), wenn das das heutige Datum ist. Die Datenbank holt sich das vom Systemdatum. Genauso geht das mit CURRENT TIME für die Uhrzeit.


Antwort
von Babelfish, 5

Tipp: Erkläre uns doch bitte erst mal, was denn genau nicht funktioniert? Gibt es einen SQL-Fehler oder steht ein falsches Datum in dem Feld oder …?

Antwort
von threadi, 10

Wie soll es denn funktionieren? Rein syntaktisch ist das was Du hier schreibst nämlich richtig.

Antwort
von LeonardM, 7

Nutzt du php? Dann kannst du time() in php verwenden und in sql als datentyp int

Antwort
von Dereta, 15

Benutze mal den Datentype timestamp.

Grüße

Kommentar von Mickan1994 ,

Habe ich auch versucht - geht leider auch nicht. Es wird nichts übertragen

Keine passende Antwort gefunden?

Fragen Sie die Community