Haben Sie versucht, beim Aktualisieren null für dieses Feld zu verwenden?
Sie können auch versuchen, den Standardwert auf CURRENT_TIMESTAMP
zu setzen , statt 0000-00-00 00:00:00
.
Trotzdem verwende ich, wann immer ich Erstellungs- und Aktualisierungszeit haben möchte, immer Folgendes:
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
Ich verwende now()
, weil es ein Alias für CURRENT_TIMESTAMP
ist und es ist kürzer. Am Ende erhält die Tabellenstruktur CURRENT_TIMESTAMP
, also mach dir keine Sorgen.
Der Trick mit CREATED
Feld ist daran zu denken, in beiden Feldern für INSERT
null zu verwenden Anweisungen für UPDATE
Anweisungen ist nicht erforderlich:
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);