Sudahkah Anda mencoba menggunakan null untuk bidang itu saat memperbarui?
Anda juga dapat mencoba menyetel nilai default ke CURRENT_TIMESTAMP , daripada 0000-00-00 00:00:00 .
Namun demikian, setiap kali saya ingin memiliki waktu pembuatan dan pembaruan, saya selalu menggunakan yang berikut:
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
Saya menggunakan now() , karena merupakan alias untuk CURRENT_TIMESTAMP dan itu lebih pendek. Pada akhirnya, struktur tabel mendapatkan CURRENT_TIMESTAMP , jadi jangan khawatir.
Trik dengan CREATED field yang harus diingat untuk menggunakan null pada kedua field untuk INSERT pernyataan, untuk UPDATE pernyataan itu tidak diperlukan:
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);