2012-04-03 2 views
1

Ich habe diese MySQL-Abfrage:Einsatz in MySQL-Server in Echtzeit und Datum

$SQLquery = "INSERT INTO `experimental`.`comments` (`comment_id`, `comment_dt`) 
      VALUES (NULL, CURRENT_TIMESTAMP);"; 

Wenn ich diese Zeile mit PHP in die Datenbank bei comment_dt Reihe MySQL ausführen erscheint meinen Computer Ortszeit und das Datum. Weiß jemand, wie in meiner Datenbank ein Server lokal und Zeitdatum angezeigt wird?

Antwort

1

Der beste Weg wird sein, dass Sie Ihre comment_dt Spalte DATETIME Typ und Standardwert CURRENT_TIMESTAMP machen sollte. Sie müssen es nicht manuell über die Einfügeabfrage einfügen.

Mit dieser Einstellung wird Ihre comment_dt automatisch mit Server Datum-Uhrzeit aktualisiert, sobald eine neue Zeile eingefügt wird.

ALTER TABLE comments ADD comment_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
+0

ALTER TABLE 'läuft comments' ADD' comment_dt' DATETIME- NOT NULL DEFAULT CURRENT_TIMESTAMP MySQL Fehler: # 1067 - Ungültige Standardwert für 'comment_dt' Warum bekomme ich diesen Fehler, wenn ich die 'comment_dt' Spalte' DATETIME' machen möchte? – CBuzatu

+0

timestamp type anstelle von datetime type verwenden –

+0

Ok habe ich das gelöst, aber in meine Datenbank ist immer noch mein Computer Datum und Uhrzeit eingegeben. Zum Beispiel, wenn ich mein lokales Computerdatum zum Jahr 2010 ändere, wenn ich die MySQL-Query-Linie mit PHP in meiner Datenbank ausführe, wird ein falsches Datum aufgefüllt. – CBuzatu

1
$SQLquery = "INSERT INTO `experimental`.`comments` (`comment_id`, `comment_dt`) VALUES (NULL, CURRENT_TIMESTAMP());"; 

Verwendung MySQL-Server-Funktion CURRENT_TIMESTAMP()

+0

Wenn ich CURDATE() Funktion in der Datenbank 'comment_dt' Spalte verwenden erscheint: 0000-00-00 00.00.00 – CBuzatu

+0

Welche Art Ihre comment_dt Daten ist? und Sie können versuchen, "SELECT CURDATE()" in mysql Kommandozeilen-Tool – dhchen