मुझे MySQL 5.7 में अपग्रेड करने के बाद पता चला कि यह त्रुटि यादृच्छिक स्थितियों में होने लगी, तब भी जब मैं क्वेरी में कोई तारीख नहीं दे रहा था।
ऐसा इसलिए प्रतीत होता है क्योंकि पिछला MySQL के संस्करण समर्थित दिनांक जैसे 0000-00-00 00:00:00
(डिफ़ॉल्ट रूप से) हालांकि 5.7.4 ने NO_ZERO_DATE
. में कुछ बदलाव किए सेटिंग। यदि नए MySQL संस्करण का उपयोग करते समय आपके पास अभी भी पुराना डेटा मौजूद है, तो यादृच्छिक त्रुटियां सामने आ सकती हैं।
मुझे सभी शून्य तिथियों को किसी अन्य तिथि पर रीसेट करने के लिए इस तरह की एक क्वेरी करने की आवश्यकता है।
# If the columns supports NULL, use that
UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';
# Otherwise supply another default date
UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';
वैकल्पिक रूप से, आप NO_ZERO_DATE
. को समायोजित करने में सक्षम हो सकते हैं सेटिंग, हालांकि ध्यान दें कि डॉक्स इसके बारे में क्या कहते हैं: