In MySQL 5.6.5 Es gibt mehrere Aktualisierungen bezüglich dieser Initialisierung, die Sie auf diesem sehen können verlinken (Automatische Zeitstempeleigenschaften vor MySQL 5.6.5).
Wenn Sie MySQL <=5.6.5 verwenden , um diese Initialisierung zu ignorieren, müssen Sie den DEFAULT-Wert auf 0 oder NULL setzen, wobei NULL erlaubt ist.
CREATE TABLE tbl
(
field1 TIMESTAMP DEFAULT 0,
field2 TIMESTAMP NULL DEFAULT NULL
)
Wenn Sie MySQL>=5.6.6 verwenden , gibt es einen Parameter namens explicit_defaults_for_timestamp die standardmäßig deaktiviert ist. Sie können diese Einstellung aktivieren oder den DEFAULT-Wert auf 0 oder NULL setzen, dieselbe Vorgehensweise für frühere MySQL-Versionen.
Wenn Sie MySQL>=8.0.2 verwenden , dann explicit_defaults_for_timestamp
ist aktiviert standardmäßig. Dies deaktiviert das nicht standardmäßige Verhalten (zum Glück). Außerdem generiert MySQL eine Warnung, wenn Sie diese Einstellung deaktivieren. Also zum Beispiel, wenn Sie keinen DEFAULT-Wert für einen TIMESTAMP
definieren Spalte, wird sie automatisch auf NULL
gesetzt .