Erstellen eines Standardwerts für eine MySQL-Datetime-Spalte
In MySQL kann das Festlegen eines Standardwerts für eine Datetime-Spalte mithilfe des TIMESTAMP erreicht werden Datentyp. Während SQL Server für diesen Zweck getdate() verwendet, verfügt MySQL nicht über eine entsprechende Funktion für DATETIME-Felder.
Sie können jedoch den Datentyp TIMESTAMP verwenden, um einen Standardwert zu erstellen, der das Feld automatisch mit dem aktuellen Wert füllt Zeitstempel beim Einfügen der Zeile. So geht's:
mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP); Query OK, 0 rows affected (0.00 sec)
In diesem Beispiel wird die ts-Spalte in der Testtabelle als TIMESTAMP-Feld definiert und erhält den Standardwert CURRENT_TIMESTAMP. Wenn eine neue Zeile in die Tabelle eingefügt wird, ohne explizit einen Wert für ts anzugeben, wird der Standardwert automatisch mit der aktuellen Systemzeit gefüllt.
mysql> insert into test (str) values ("demo"); Query OK, 1 row affected (0.00 sec)
mysql> select * from test; +------+---------------------+ | str | ts | +------+---------------------+ | demo | 2023-03-08 15:23:45 | +------+---------------------+ 1 row in set (0.00 sec)
Wie Sie sehen können, die ts-Spalte in der Testtabelle wurde automatisch mit dem aktuellen Zeitstempel gefüllt, als die neue Zeile eingefügt wurde.
Wichtig Hinweis:
Für Standardwerte in DATETIME-Spalten unterstützen MySQL 5.6.5 und spätere Versionen jetzt die Funktion CURRENT_TIMESTAMP. In früheren Versionen ist diese Funktion jedoch nur für TIMESTAMP-Spalten verfügbar.
Das obige ist der detaillierte Inhalt vonWie lege ich einen Standardwert für eine MySQL-Datetime-Spalte fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!