मेरे शोध के आधार पर, मैं कहूंगा कि यह "आप" और "MySQL" चीज दोनों हो सकता है। तालिका बनाएं तालिका_नाम दिखाएं;
. के साथ अपनी तालिका परिभाषाओं की जांच करें . NOT NULL
से परिभाषित किसी भी क्षेत्र पर ध्यान दें ।
MySQL 5.6 संदर्भ मैनुअल:13.2.5 INSERT सिंटैक्स राज्य:
इसका मतलब यह होगा कि इससे कोई फर्क नहीं पड़ता कि आप किस SQL मोड का उपयोग कर रहे हैं। अगर आप एकल पंक्ति कर रहे हैं सम्मिलित करें
(आपके नमूना कोड के अनुसार) और एक NULL
डालना NUT NULL
with के साथ परिभाषित कॉलम में मान , यह काम करने वाला नहीं है।
एक ही सांस में, विडंबना यह है कि यदि आप केवल मान सूची से मान को छोड़ देते हैं, तो MySQL मैनुअल निम्नलिखित कहता है, और एसक्यूएल मोड मायने रखता है इस मामले में:
इस प्रकार, आप जीत नहीं सकते!;-) मजाक। करने वाली बात यह है कि यह स्वीकार करना है कि शून्य नहीं
एक MySQL टेबल फ़ील्ड पर वास्तव में इसका अर्थ है , SQL मोड पर ध्यान दिए बिना .'
यह सब कहा जा रहा है, मैनुअल से निम्नलिखित भी सत्य है:
तो, दिल थाम लो। अपने डिफ़ॉल्ट को व्यावसायिक तर्क (ऑब्जेक्ट्स) में सेट करें, और डेटा स्तर को उसी से दिशा लेने दें। डेटाबेस डिफॉल्ट्स एक अच्छे विचार की तरह लगते हैं, लेकिन अगर वे मौजूद नहीं थे, तो क्या आप उन्हें याद करेंगे? अगर जंगल में कोई पेड़ गिर जाए...