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

मैं nvarchar के साथ sql सर्वर में एक ऑटोइनक्रिकमेंट प्राथमिक कुंजी कैसे जोड़ूं?

आप इसे सीधे नहीं कर सकते - आप क्या कर सकते हैं यह करो:

  • संख्यात्मक भाग को संभालने के लिए एक ऑटो-इन्क्रीमेंट कॉलम बनाएं
  • एक गणना कॉलम जोड़ें जो स्ट्रिंग उपसर्ग और संख्या को जोड़ता है

तो कुछ इस तरह से कोशिश करें:

CREATE TABLE dbo.YourTable
    (ID INT IDENTITY(1,1) NOT NULL,
     StringPrefix NVARCHAR(10) NOT NULL,
     IDandPrefix AS ISNULL(StringPrefix + CAST(ID AS NVARCHAR(10)), 'X') PERSISTED
    )

अब जब आप इस तरह की पंक्तियाँ सम्मिलित करते हैं:

INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')

आपको इस तरह की पंक्तियाँ मिलनी चाहिए:

ID   StringPrefix   IDandPrefix
 1        A             A1
 2        B             B2
 3        A             A3

और आप अपनी प्राथमिक कुंजी को उस IDandPrefix . पर परिभाषित कर सकते हैं कॉलम, भी:

ALTER TABLE dbo.YourTable 
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अन्य स्तंभों पर समूह के साथ एक स्तंभ की पंक्तियों की अल्पविराम से अलग की गई सूची

  2. DAL, System.ArgumentException को संशोधित करने में त्रुटि, समान कुंजी वाली प्रविष्टि पहले से मौजूद है

  3. SQL सर्वर डेटाबेस में उपयोगकर्ता-परिभाषित तालिकाओं की संख्या की गणना करने के 5 तरीके

  4. तालिका चर पर एक अनुक्रमणिका बनाना

  5. SQL सर्वर डेटाबेस में पहचान कॉलम सूचीबद्ध करते समय टेबल और स्कीमा शामिल करना