MySQL Timestamp - warum alle Nullen?
-
10-07-2019 - |
Frage
Ich benutze PHPMyAdmin und ich habe eine MySQL-Tabelle Spalte namens bekam „Zeitstempel“. Die Art (Überraschung!) Ist TIMESTAMP
, und in 'Attribute' ich es festgelegt haben, um ON UPDATE CURRENT_TIMESTAMP
.
Doch jeder neue Datensatz erhält einen Zeitstempel, der wie folgt aussieht:
0000-00-00 00:00:00
ich ausdrücklich den Standardwert none gesetzt haben, aber wenn ich mir sparen und wieder zu, ist es, wie oben auf Null gesetzt.
Die entsprechende PHP Datensätze Seite trifft mit dieser Abfrage:
$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";
Das Ganze wird unter XAMPP läuft.
Was bin ich fehlt?
Lösung
Was bin ich fehlt?
Sie werden nicht aktualisiert:)
Mit DEFAULT CURRENT_TIMESTAMP
zusammen mit ON UPDATE CURRENT_TIMESTAMP
Andere Tipps
Versuchen Sie, den Standardwert einstellen, anstatt CURRENT_TIMESTAMP
davon in den Attributen setzen.
Wenn Sie Ihre timestamp
Spalte erfasst nur die Einfügung Zeit verwenden Sie dann nur
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Ansonsten, wenn es für die Änderungszeit ist dann wie wie folgt verwenden
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
In meinem Fall funktioniert wie folgt:
In phpMyAdmin:
ALTER TABLE `name_table` ADD `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
In PHP sintax für die Zeile:
date('Y-m-d H:i:s')