MySQL gör tillåt NULL
värden för datetime
fält. Jag testade det precis:
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)
Jag använder den här versionen:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.03 sec)
EDIT #1:Jag ser i din redigering att felmeddelandet du får i PHP indikerar att du skickar en tom sträng (dvs. ''
), inte null
. En tom sträng är annorlunda än null
och är inte en giltig datetime
värde vilket är anledningen till att du får det felmeddelandet. Du måste skicka det speciella sql-nyckelordet null
om det är det du menar. Sätt inte heller några citattecken runt ordet null
. Se min insert
uttalande ovan för ett exempel på hur man infogar null
.
EDIT #2:Använder du PDO? Om så är fallet, när du binder din nollparam, se till att använda [PDO::PARAM_NULL][1]
skriv när du binder en null
. Se svaret på detta stackoverflow-fråga
om hur man korrekt infogar null
använder SUB.