Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डिफ़ॉल्ट मान के साथ NULL कॉलम में NULL सम्मिलित नहीं करना

मेरे शोध के आधार पर, मैं कहूंगा कि यह "आप" और "MySQL" चीज दोनों हो सकता है। तालिका बनाएं तालिका_नाम दिखाएं; . के साथ अपनी तालिका परिभाषाओं की जांच करें . NOT NULL से परिभाषित किसी भी क्षेत्र पर ध्यान दें ।

MySQL 5.6 संदर्भ मैनुअल:13.2.5 INSERT सिंटैक्स राज्य:

इसका मतलब यह होगा कि इससे कोई फर्क नहीं पड़ता कि आप किस SQL ​​​​मोड का उपयोग कर रहे हैं। अगर आप एकल पंक्ति कर रहे हैं सम्मिलित करें (आपके नमूना कोड के अनुसार) और एक NULL डालना NUT NULL with के साथ परिभाषित कॉलम में मान , यह काम करने वाला नहीं है।

एक ही सांस में, विडंबना यह है कि यदि आप केवल मान सूची से मान को छोड़ देते हैं, तो MySQL मैनुअल निम्नलिखित कहता है, और एसक्यूएल मोड मायने रखता है इस मामले में:

इस प्रकार, आप जीत नहीं सकते!;-) मजाक। करने वाली बात यह है कि यह स्वीकार करना है कि शून्य नहीं एक MySQL टेबल फ़ील्ड पर वास्तव में इसका अर्थ है , SQL मोड पर ध्यान दिए बिना .'

यह सब कहा जा रहा है, मैनुअल से निम्नलिखित भी सत्य है:

तो, दिल थाम लो। अपने डिफ़ॉल्ट को व्यावसायिक तर्क (ऑब्जेक्ट्स) में सेट करें, और डेटा स्तर को उसी से दिशा लेने दें। डेटाबेस डिफॉल्ट्स एक अच्छे विचार की तरह लगते हैं, लेकिन अगर वे मौजूद नहीं थे, तो क्या आप उन्हें याद करेंगे? अगर जंगल में कोई पेड़ गिर जाए...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस में MySQL शो इंडेक्स

  2. 'लोकलहोस्ट' (10061) पर MySQL सर्वर से कनेक्ट नहीं हो सकता

  3. एकाधिक चेकबॉक्स मानों के लिए MySQL क्वेरी

  4. MySQL:भुगतान के आधार पर सदस्यता के शेष दिनों की गणना

  5. लारवेल डेटाबेस स्कीमा, अशक्त विदेशी