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

MySQL:UNIQUE, लेकिन DEFAULT NULL - तालिका बनाकर अनुमत है। 1 से अधिक NULL डालने की अनुमति है। क्यों?

SQL 92 विनिर्देश के अनुसार (और आप इसे कैसे पढ़ते हैं) अद्वितीय बाधाएं उम्मीदवार कुंजी को दर्शाने के लिए हैं और इसलिए डुप्लिकेट मानों को अनुमति नहीं देनी चाहिए न ही शून्य मान। DB2 इस तरह से अपनी अनूठी बाधाओं को लागू करता है। कुछ से अधिक डेटाबेस विक्रेता (MySQL सहित) विनिर्देश को पढ़ते हैं क्योंकि समूह द्वारा क्लॉज की तरह NULL मानों की अनदेखी करते हुए NULL मानों को अनदेखा करता है और इस प्रकार वे अद्वितीय बाधाओं को लागू करते हैं जैसे कि यह केवल गैर-NULL मानों पर लागू होता है। फिर भी अन्य, NULL को अपना विशेष मान मानते हैं और केवल एक प्रविष्टि की अनुमति देते हैं जो NULL है। Microsoft 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 4.0 में क्रिएटेड और लास्ट अपडेटेड टाइमस्टैम्प कॉलम दोनों का होना

  2. MySQL और PostgreSQL के लिए HAProxy सांख्यिकी को समझना

  3. MySQL में स्रोत-प्रतिकृति प्रतिकृति को कैसे कॉन्फ़िगर करें

  4. \r\n को PHP के साथ बदलना

  5. MySQL पसंद का उपयोग कर क्वेरी में शामिल हों?