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

TSQL में अशक्त प्राथमिक कुंजी का उपयोग क्यों नहीं करें?

स्पष्टता के लिए संपादित

SQL विशिष्टता के अनुसार, प्राथमिक कुंजी में NULL नहीं हो सकता है। इसका मतलब यह है कि कॉलम को या तो "पूर्ण प्राथमिक कुंजी नहीं" या केवल "प्राथमिक कुंजी" के साथ सजाने से वही काम करना चाहिए। लेकिन आप SQL मानक का सही ढंग से पालन करते हुए SQL इंजन पर निर्भर हैं। एक प्रारंभिक बग के कारण एक उदाहरण के रूप में, SQL लाइट मानक को सही ढंग से लागू नहीं करता है और गैर-पूर्णांक प्राथमिक कुंजियों में शून्य मानों की अनुमति देता है (देखें sqlite.org/lang_createtable.html)। इसका मतलब होगा (कम से कम) SQLLite के लिए दो कथन दो अलग-अलग काम करते हैं।

चूंकि "NOT NULL PRIMARY KEY" स्पष्ट रूप से आशय को इंगित करता है और गैर-शून्य मानों को लागू करना जारी रखता है, भले ही प्राथमिक कुंजी को हटा दिया जाए, यह पसंदीदा सिंटैक्स होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर मॉनिटरिंग के लिए जिम्मेदार DBA को प्रभावित करने वाले शीर्ष तीन रुझान

  2. CONVERT () का उपयोग करके SQL सर्वर में एक दिनांक प्रारूप से दूसरे में कैसे परिवर्तित करें

  3. टीएसक्यूएल में किसी तारीख से कैलेंडर तिमाही कैसे प्राप्त करें

  4. ऑब्जेक्ट 'DF__*' कॉलम '*' पर निर्भर है - int को डबल में बदलना

  5. मैं डुप्लिकेट पंक्तियों को कैसे हटा सकता हूं?