MySQL doet sta NULL
toe waarden voor datetime
velden. Ik heb het net getest:
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)
Ik gebruik deze versie:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.03 sec)
EDIT #1:Ik zie in je bewerking dat de foutmelding die je krijgt in PHP aangeeft dat je een lege string doorgeeft (d.w.z. ''
), niet null
. Een lege tekenreeks is anders dan null
en is geen geldige datetime
waarde en daarom krijgt u die foutmelding. U moet het speciale sql-sleutelwoord null
doorgeven als je dat bedoelt. Zet ook geen aanhalingstekens rond het woord null
. Zie mijn insert
bovenstaande instructie voor een voorbeeld van hoe u null
invoegt .
EDIT #2:Gebruik je PDO? Als dat zo is, zorg er dan voor dat u de [PDO::PARAM_NULL][1]
gebruikt wanneer u uw null-param bindt typ bij het binden van een null
. Zie het antwoord hierop stackoverflow-vraag
over het correct invoegen van null
met behulp van BOB.