sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan tilføjer jeg en autoincrement primær nøgle i sql server med nvarchar?

Du kan ikke gøre dette direkte - hvad du kan gør er dette:

  • opret en kolonne med automatisk stigning for at håndtere den numeriske del
  • tilføj en beregnet kolonne der sammenkæder strengpræfikset og tallet

Så prøv noget som dette:

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
    )

Når du nu indsætter rækker som denne:

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

du skulle få rækker som denne:

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

Og du kan definere din primære nøgle på det IDandPrefix kolonne også:

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


  1. Hvordan indsætter man specialtegn i en database?

  2. Output til CSV i postgres med dobbelte anførselstegn

  3. Forbind Android-appdata med webstedsdatabase

  4. MySQL Mark Records med dubletter