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);