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