मैं एसक्यूएल सर्वर 2005 तालिका में एक कॉलम को पहचानने के लिए पहचान (1,1)
संयोग से यह तालिका खाली है और कॉलम बदला जाना एक प्राथमिक कुंजी है।
यह कॉलम दो अन्य तालिकाओं के लिए भी एक विदेशी कुंजी है।
एसक्यूएल सर्वर सहायक संग्रह प्रक्रिया या कॉलम पहचान को बदलने के लिए उपयोगिता (1,1)
गूगलिंग के बाद मुझे पता चला कि आप कॉलम को संशोधित करने और इसे इंडेंटिटी कॉलम बनाने के लिए ऑल्टर टेबल सिंटैक्स का उपयोग नहीं कर सकते हैं।
# लिंक 1: How do I add the identity property to an existing column in SQL Server
लिंक # 2: Adding an identity to an existing column -SQL Server
मैं निर्भर तालिकाओं (उनमें से 2) विदेशी कुंजी (SSMS से स्क्रिप्ट उत्पन्न किया था) को हटाने की जाँच समाप्त हो गया तो मुख्य तालिका फिर फिर से गिर पहचान के साथ सांस लेना। (यहां नाम बदलने का विकल्प भी आजमा सकते हैं)
फिर पहले निर्भर दो तालिकाओं के लिए विदेशी कुंजी को फिर से बनाया।
लेकिन यह सब मैन्युअल काम, किसी भी स्क्रिप्ट या एसपी को आसान बनाने के लिए वहां था।
आदर्श रूप में इन सभी चरणों में इस तरह के एक स्क्रिप्ट/उपकरण/उपयोगिता के द्वारा किया जा जाएगा:
- चेक निर्भर टेबल कुंजी
- बढ़ाएँगे और इस
- के लिए विदेशी कुंजी स्क्रिप्ट ड्रॉप बढ़ाएँगे मुख्य तालिका के लिए स्क्रिप्ट
- मुख्य तालिका ड्रॉप करें (या तालिका के डेटा के नाम पर तालिका का नाम बदलें)
- फिर से बनाते पहचान स्तंभ के साथ तालिका सक्षम
- विदेशी कुंजी
फिर से बनाते हैं
+1, टेबल/कॉलम/चाबियाँ/बाधाओं/आदि के साथ बदलने के लिए बहुत सी चीजें हैं। प्रत्येक के लिए उपयोगिता असंभव होगा। यही कारण है कि आप एक स्क्रिप्ट उत्पन्न करने के लिए जीयूआई का उपयोग कर सकते हैं –
एसएसएमएस एक त्रुटि फेंकता है, यह पहला विकल्प था जिसकी मैंने कोशिश की थी। प्रश्न में उल्लेख किया जाना चाहिए था ... –
लिंक के लिए धन्यवाद, एक आकर्षण की तरह काम करने के विकल्प को अक्षम करना। –