मैनुअल का हवाला देते हुए ,
<ब्लॉकक्वॉट>एक NOT NULL कॉलम के लिए डेटा प्रविष्टि के लिए जिसमें कोई स्पष्ट DEFAULT क्लॉज नहीं है, यदि एक INSERT या REPLACE स्टेटमेंट में कॉलम के लिए कोई मान शामिल नहीं है, या एक UPDATE स्टेटमेंट कॉलम को NULL पर सेट करता है, MySQL उस समय प्रभावी SQL मोड के अनुसार कॉलम को हैंडल करता है:
- यदि सख्त SQL मोड सक्षम नहीं है, तो MySQL कॉलम को कॉलम डेटा प्रकार के लिए निहित डिफ़ॉल्ट मान पर सेट करता है।
- यदि सख्त मोड सक्षम है, तो लेनदेन संबंधी तालिकाओं के लिए एक त्रुटि उत्पन्न होती है और विवरण वापस ले लिया जाता है। गैर-लेन-देन वाली तालिकाओं के लिए, एक
त्रुटि होती है, लेकिन यदि यह बहु-पंक्ति कथन की दूसरी या बाद की पंक्ति के लिए होती है, तो पिछली पंक्तियों को सम्मिलित कर लिया जाएगा।
तो अब आपका प्रश्न हो सकता है कि विभिन्न कॉलम डेटा प्रकारों के लिए निहित डिफ़ॉल्ट मान क्या हैं? ये रहा:
<ब्लॉकक्वॉट>निहित चूक को इस प्रकार परिभाषित किया गया है:
- संख्यात्मक प्रकारों के लिए, डिफ़ॉल्ट 0 है, इस अपवाद के साथ कि AUTO_INCREMENT
विशेषता के साथ घोषित पूर्णांक या फ़्लोटिंग-पॉइंट प्रकारों के लिए, डिफ़ॉल्ट अनुक्रम में अगला मान है। - TIMESTAMP के अलावा अन्य दिनांक और समय प्रकारों के लिए, डिफ़ॉल्ट प्रकार के लिए उपयुक्त "शून्य" मान है। तालिका में पहले टाइमस्टैम्प कॉलम के लिए, डिफ़ॉल्ट मान वर्तमान दिनांक और समय है। खंड 10.3, “दिनांक और समय के प्रकार” देखें।
- ENUM के अलावा अन्य स्ट्रिंग प्रकारों के लिए, डिफ़ॉल्ट मान रिक्त स्ट्रिंग है। ENUM के लिए, डिफ़ॉल्ट पहला एन्यूमरेशन मान है।