एसक्यूएल सर्वर में autoincrement प्राथमिक कुंजी के लिए ऊपरी सीमा

एसक्यूएल सर्वर में एक ऑटोइनक्रिकमेंट प्राथमिक कुंजी के लिए ऊपरी सीमा क्या है? क्या होता है जब एक SQL सर्वर ऑटोइनक्रिकमेंट प्राथमिक कुंजी इसकी ऊपरी सीमा तक पहुंच जाती है?

0

3 उत्तर

यह डेटाटाइप पर निर्भर करता है। यदि आप बिगिन का उपयोग करते हैं, तो आप कभी भी अतिप्रवाह होने की संभावना नहीं रखते हैं। यहां तक ​​कि एक सामान्य int आपको कुछ अरब पंक्तियां देता है। मैंने कभी बहकाया नहीं है, इसलिए मैं आपको नहीं बता सकता कि क्या होता है यदि आप करते हैं।

0
जोड़ा
मैं int (11) के बारे में कैसे उपयोग कर रहा हूँ? कितने डेटा? और क्या हुआ अगर auto_increment overflowed?
जोड़ा लेखक Josua Marcel Chrisano, स्रोत

डेटा प्रकार विवरण:

BIGINT    Integer data from -2^63 through 2^63 - 1

INT       Integer data from -2^31 through 2^31 - 1

SMALLINT  Integer data from -2^15 through 2^15 - 1

TINYINT   Integer data from 0     through 255

जब आप ऊपरी सीमा तक पहुंचते हैं तो ऑटोइनक्रिकमेंट कम सीमा तक जाता है।

0
जोड़ा

जोएल का जवाब सही है, यह आपके द्वारा उपयोग किए जाने वाले डेटाटाइप की ऊपरी सीमा है।

उनमें से दो का उदाहरण यहां दिया गया है:

  • int: 2 ^ 31-1 (2,147,483,647)
  • bigint: 2 ^ 63-1 (9,223,372,036,854,775,807)

मैंने वास्तव में उस नौकरी पर सीमा को मारा है जिस पर मैंने काम किया था। वास्तविक त्रुटि है:

    Msg 8115, Level 16, State 1, Line 1
    Arithmetic overflow error converting IDENTITY to data type int.
    Arithmetic overflow occurred.

इसमें कुछ फिक्स हैं जो मैं अपने सिर के ऊपर से सोच सकता हूं। संख्या 1 शायद बहुत कठिन है और बहुत संभावना नहीं है, संख्या 2 आसान है, लेकिन शायद आपके कोड बेस में समस्याएं पैदा होंगी।

  1. यदि पहचान कॉलम आपके लिए कोई फर्क नहीं पड़ता है (यह एक विदेशी कुंजी नहीं है, तो) तो आप केवल डेटाबेस को संशोधित कर सकते हैं और पहचान कॉलम रीसेट कर सकते हैं।
  2. अपनी पहचान कॉलम को एक बड़ी संख्या में बदलें। तो उदाहरण के लिए यदि आपने एक int को बहकाया है, तो अपनी पहचान कॉलम को एक बड़े int में बदलें। शुभकामनाएं बहती हैं:)

शायद अन्य फिक्स हैं, लेकिन कोई जादू बुलेट आसान नहीं है। मुझे उम्मीद है कि यह ऐसी तालिका में नहीं होता है जो संबंधों के समूह का केंद्र है, क्योंकि यदि ऐसा होता है, तो आप बहुत दर्द में हैं। यह एक कठिन फिक्स नहीं है, सिर्फ एक कठिन और लंबा है।

0
जोड़ा