प्राथमिक कुंजी प्राथमिक कुंजी के डेटाटाइप पर पाठ्यक्रम के आधार पर 0 की अनुमति दे सकती है। एक स्वत: जेनरेटेड पीके (पहचान) 0 से शुरू हो सकता है लेकिन यह डिफ़ॉल्ट व्यवहार नहीं है, आपको इसे 0 से शुरू करने के लिए सेट करना होगा (यदि आप चाहें तो नकारात्मक संख्याओं से शुरू हो सकते हैं)। सर्वोत्तम परिणामों के लिए यह तालिका में डेटा दर्ज करना शुरू करने से पहले किया जाना चाहिए।
आप जो नहीं कर सकते हैं उसके पास पीके के रूप में 0 के साथ कई रिकॉर्ड हैं क्योंकि पीके की विशिष्टता आवश्यकता का उल्लंघन करता है।
यदि आपके पास मौजूदा डेटा है और एक रिकॉर्ड चाहते हैं जिसमें एक विशिष्ट उद्देश्य के लिए शून्य का मूल्य है (उदाहरण के लिए हमने अपनी आयात प्रक्रिया के लिए उपयोगकर्ता को रखा है, तो सम्मिलित क्षेत्र दिखा सकता है कि रिकॉर्ड आयात से आया था) , तो आप जो चाहते हैं वह पहचान क्षेत्र में मैन्युअल डालने की अनुमति देना है, ताकि आप अपने इच्छित मान पर यह एक विशिष्ट रिकॉर्ड दर्ज कर सकें, फिर सामान्य सेटिंग पर वापस आएं। यह इस तरह से किया जाता है:
set Identity_insert dbo.table1 ON
insert dbo.table1 (id, myfield)
Values (0, 'test')
set Identity_insert dbo.table1 OFF
आवेदन उत्पादन कोड में ऐसा मत करो, इस कार्य की एक प्रणाली व्यवस्थापक प्रकार है कि केवल सामान्य के दायरे से बाहर एक विशेष रिकॉर्ड के दोनों सेटिंग के लिए कभी-कभी किया जाना चाहिए है डेटा या किसी अन्य स्रोत से स्थानांतरित रिकॉर्ड्स डालने के लिए (जब आप जानते हैं कि उनके मौजूदा आईडी मान वर्तमान में उपयोग नहीं किए गए हैं)। पहचान क्षेत्र के प्रतिबंधों को प्राप्त करने के लिए इसका हल्का उपयोग नहीं किया जाना चाहिए। विशेष रूप से इसे रिकॉर्ड में भरने के लिए कभी भी इस्तेमाल नहीं किया जाना चाहिए जहां पहचान छोड़ दी गई है (एक विलोपन या रोलबैक के कारण) क्योंकि यह पहचान का उपयोग करने के उद्देश्य को हरा देता है और यदि उचित पीके/एफके संबंध स्थापित नहीं किए जाते हैं तो डेटा अखंडता के मुद्दों का कारण बन सकता है।
बस एक सूचनात्मक टिप्पणी। यह प्रश्न 'mySql' – dhpratik