MySQL không cho phép NULL các giá trị cho datetime lĩnh vực. Tôi vừa thử nghiệm nó:
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)
Tôi đang sử dụng phiên bản này:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.03 sec)
CHỈNH SỬA # 1:Tôi thấy trong bản chỉnh sửa của bạn rằng thông báo lỗi bạn nhận được trong PHP cho biết rằng bạn đang chuyển một chuỗi trống (tức là '' ), không phải null . Chuỗi trống khác với null và không phải là datetime hợp lệ giá trị đó là lý do tại sao bạn nhận được thông báo lỗi đó. Bạn phải chuyển từ khóa sql đặc biệt null nếu đó là những gì bạn muốn nói. Ngoài ra, không đặt bất kỳ dấu ngoặc kép nào xung quanh từ null . Xem insert của tôi câu lệnh ở trên để biết ví dụ về cách chèn null .
CHỈNH SỬA # 2:Bạn có đang sử dụng PDO không? Nếu vậy, khi bạn liên kết tham số null của mình, hãy đảm bảo sử dụng [PDO::PARAM_NULL][1] gõ khi liên kết một null . Xem câu trả lời cho điều này câu hỏi stackoverflow
về cách chèn đúng null sử dụng PDO.