Bạn đã thử sử dụng null cho trường đó khi cập nhật chưa?
Bạn cũng có thể thử đặt giá trị mặc định thành CURRENT_TIMESTAMP
, thay vì 0000-00-00 00:00:00
.
Tuy nhiên, bất cứ khi nào tôi muốn có thời gian tạo và cập nhật, tôi luôn sử dụng những thứ sau:
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
Tôi sử dụng now()
, vì là bí danh cho CURRENT_TIMESTAMP
và nó ngắn hơn. Cuối cùng, cấu trúc bảng nhận được CURRENT_TIMESTAMP
, vì vậy đừng lo lắng.
Thủ thuật với CREATED
trường cần nhớ sử dụng null trên cả hai trường cho INSERT
câu lệnh, cho UPDATE
câu lệnh không bắt buộc:
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);