Standardwerte für Datetime-Spalten in MySQL festlegen
In MySQL unterscheidet sich das Festlegen eines Standardwerts für eine Datetime-Spalte von getdate() in SQL Server Funktion.
MySQL-Versionen vor 5.6.5 erlauben keine Standardwerte für DATETIME-Felder. Sie können jedoch stattdessen TIMESTAMP verwenden:
CREATE TABLE test ( str VARCHAR(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Wenn Sie eine Zeile ohne Angabe eines Zeitstempels einfügen, wird diese automatisch mit der aktuellen Zeit gefüllt:
INSERT INTO test (str) VALUES ('demo');
Achtung: Die Verwendung von CURRENT_TIMESTAMP als Standard kann zu unerwartetem Verhalten bei Aktualisierungen führen. Um den ursprünglichen Zeitstempel beizubehalten, müssen Sie die Spalte explizit auf ihren aktuellen Wert setzen:
UPDATE test SET ts = ts;
MySQL 5.6.5 und höher
MySQL 5.6.5 führt Unterstützung ein für Standardwerte für DATETIME-Felder:
CREATE TABLE test2 ( str VARCHAR(32), dt DATETIME DEFAULT '2000-01-01 00:00:00' );
Diese Methode wird gegenüber der Verwendung von TIMESTAMP zum Festlegen von Standardwerten für bevorzugt datetime-Spalten.
Das obige ist der detaillierte Inhalt vonWie lege ich Standardwerte für DATETIME-Spalten in MySQL fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!