MySQL करता है अनुमति दें NULL datetime . के लिए मान खेत। मैंने अभी इसका परीक्षण किया:
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)
मैं इस संस्करण का उपयोग कर रहा हूं:
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.03 sec)
संपादित करें # 1:मैं आपके संपादन में देखता हूं कि PHP में आपको जो त्रुटि संदेश मिल रहा है वह इंगित करता है कि आप एक खाली स्ट्रिंग पास कर रहे हैं (यानी '' ), नहीं null . एक खाली स्ट्रिंग null . से अलग होती है और मान्य नहीं है datetime value यही कारण है कि आपको वह त्रुटि संदेश मिल रहा है। आपको विशेष एसक्यूएल कीवर्ड पास करना होगा null अगर आपका यही मतलब है। साथ ही, null . शब्द के आस-पास कोई उद्धरण न डालें . मेरा insert देखें null insert डालने के उदाहरण के लिए ऊपर दिया गया कथन ।
संपादित करें # 2:क्या आप पीडीओ का उपयोग कर रहे हैं? यदि ऐसा है, तो जब आप अपने नल परम को बाँधते हैं, तो [PDO::PARAM_NULL][1] का उपयोग करना सुनिश्चित करें। null binding को बाइंड करते समय टाइप करें . इसका जवाब देखें स्टैकओवरफ्लो प्रश्न
null . को ठीक से डालने के तरीके के बारे में पीडीओ का उपयोग करना।