MySQL bisa izinkan NULL nilai untuk datetime bidang. Saya baru saja mengujinya:
mysql> create table datetimetest (testcolumn datetime null default null);
Query OK, 0 rows affected (0.10 sec)
mysql> insert into datetimetest (testcolumn) values (null);
Query OK, 1 row affected (0.00 sec)
mysql> select * from datetimetest;
+------------+
| testcolumn |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
Saya menggunakan versi ini:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.03 sec)
EDIT #1:Saya melihat dalam hasil edit Anda bahwa pesan kesalahan yang Anda dapatkan di PHP menunjukkan bahwa Anda melewatkan string kosong (yaitu '' ), bukan null . String kosong berbeda dari null dan bukan datetime yang valid nilai itulah sebabnya Anda mendapatkan pesan kesalahan itu. Anda harus melewati kata kunci sql khusus null jika itu maksudmu. Juga, jangan beri tanda kutip pada kata null . Lihat insert saya pernyataan di atas untuk contoh cara menyisipkan null .
EDIT #2:Apakah Anda menggunakan PDO? Jika demikian, ketika Anda mengikat param null Anda, pastikan untuk menggunakan [PDO::PARAM_NULL][1] ketik saat mengikat null . Lihat jawaban untuk ini pertanyaan stackoverflow
tentang cara memasukkan null dengan benar menggunakan PDO.