NOW() als Standardwert für Datetime-Datentyp festlegen
Beim Erstellen von Datenbanktabellen kann es hilfreich sein, Standardwerte für Spalten festzulegen sorgen für eine konsistente Dateneingabe. Für datetime-Datentypen ist es häufig wünschenswert, die aktuelle Uhrzeit als Standardwert zu verwenden.
Vorhandene Tabellenänderungsherausforderung
In MySQL wird der Standardwert NOW festgelegt () für eine vorhandene Datetime-Spalte kann eine Herausforderung sein. Die beim Versuch, den Standardwert auf NOW() festzulegen, angezeigte Fehlermeldung weist darauf hin, dass es sich um einen ungültigen Standardwert handelt.
Lösung für MySQL 5.6.5 und höher
Glücklicherweise führt MySQL 5.6.5 den Datentyp DATETIME ein, der dynamische Standardwerte ermöglicht. Um beim Erstellen der Tabelle den Standardwert auf NOW() festzulegen, verwenden Sie die folgende Syntax:
CREATE TABLE users ( registerDate DATETIME DEFAULT CURRENT_TIMESTAMP )
Lösung vor MySQL 5.6.5
Für MySQL-Versionen Vor 5.6.5 muss der Datentyp TIMESTAMP verwendet werden, um den Datum/Uhrzeit-Wert bei Datensatzänderung automatisch zu aktualisieren. Es ist jedoch zu beachten, dass pro Tabelle nur ein automatisch aktualisiertes TIMESTAMP-Feld vorhanden sein kann.
CREATE TABLE users ( registerDate TIMESTAMP )
Um zu verhindern, dass der Zeitstempelwert bei UPDATE aktualisiert wird, fügen Sie DEFAULT CURRENT_TIMESTAMP zur TIMESTAMP-Felddefinition hinzu:
CREATE TABLE users ( registerDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP )
Das obige ist der detaillierte Inhalt vonWie kann ich NOW() als Standardwert für eine DateTime-Spalte in MySQL festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!