जाहिर है, डेटाटाइम मान मान्य नहीं है MySQL डेटाटाइम . लेकिन सर्वर SQL मोड्स ।
किसी कारण से, मेरे विकास सर्वर में, MySQL डिफ़ॉल्ट मोड कॉन्फ़िगरेशन पूरी तरह से हटा दिए गए थे। इसलिए इस पर कोई प्रतिबंध नहीं था कि मैं डेटाटाइम कैसे सम्मिलित कर सकता हूं।
mysql> select @@sql_mode;
+------------+
| @@sql_mode |
+------------+
| |
+------------+
1 row in set (0.00 sec)
दूसरी ओर उत्पादन सर्वर पर, ढेर सारे प्रतिबंध थे जो mysql सर्वर को बताते थे कि किस प्रकार के डेटाटाइम प्रारूपों को स्वीकार करना है।
mysql> select @@sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
यह एक सुरक्षित तरीका नहीं है, लेकिन मैंने MySQL प्रतिबंध मोड को no_engine_substitution
. में बदल दिया है , और वोइला, सब कुछ एक आकर्षण (लगभग) की तरह काम करता है। इसके काम करने के लिए आपको वैश्विक और सत्र मोड बदलना होगा।
मानक SQL मोड 'NO_ENGINE_SUBSTITUTION' है, इसलिए हम उस पर मोड डाल देंगे। ऐसे और भी तरीके हैं जिन्हें आप कठिन जोड़ सकते हैं:
SET GLOBAL sql_mode = '<mode>';
SET SESSION sql_mode = '<mode>';
अब वैश्विक और सत्र मोड को NO_ENGINE_SUBSTITUTION
पर सेट किया जाना चाहिएmysql> SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';
mysql> SELECT @@SESSION.sql_mode;
+------------------------+
| @@SESSION.sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)
mysql> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------+
| @@GLOBAL.sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)