आप पहचान के लिए मौजूदा कॉलम में बदलाव नहीं कर सकते।
आपके पास 2 विकल्प हैं,
-
पहचान के साथ एक नई तालिका बनाएं और मौजूदा तालिका को छोड़ दें
-
पहचान के साथ एक नया कॉलम बनाएं और मौजूदा कॉलम को छोड़ दें
दृष्टिकोण 1. (नई तालिका ) यहां आप नए बनाए गए पहचान कॉलम पर मौजूदा डेटा मानों को बनाए रख सकते हैं। ध्यान दें कि यदि 'यदि मौजूद नहीं है' संतुष्ट नहीं है तो आप सभी डेटा खो देंगे, इसलिए सुनिश्चित करें कि आपने शर्त को ड्रॉप पर भी रखा है!
CREATE TABLE dbo.Tmp_Names
(
Id int NOT NULL
IDENTITY(1, 1),
Name varchar(50) NULL
)
ON [PRIMARY]
go
SET IDENTITY_INSERT dbo.Tmp_Names ON
go
IF EXISTS ( SELECT *
FROM dbo.Names )
INSERT INTO dbo.Tmp_Names ( Id, Name )
SELECT Id,
Name
FROM dbo.Names TABLOCKX
go
SET IDENTITY_INSERT dbo.Tmp_Names OFF
go
DROP TABLE dbo.Names
go
Exec sp_rename 'Tmp_Names', 'Names'
दृष्टिकोण 2 (नया कॉलम ) आप नए बनाए गए पहचान कॉलम पर मौजूदा डेटा मान नहीं रख सकते हैं, पहचान कॉलम में संख्या का क्रम होगा।
Alter Table Names
Add Id_new Int Identity(1, 1)
Go
Alter Table Names Drop Column ID
Go
Exec sp_rename 'Names.Id_new', 'ID', 'Column'
अधिक विवरण के लिए निम्न Microsoft SQL सर्वर फ़ोरम पोस्ट देखें:
कॉलम को पहचान में कैसे बदलें(1,1)