sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man lägger till identitetskolumn till tabell med TSQL och GUI i SQL Server - SQL Server / T-SQL självstudie del 40

Scenario:

Du arbetar som SQL Server-utvecklare och du har skapat en dbo.Customer-tabell genom att använda skriptet nedan.

CREATE TABLE Customer (
    FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,Age SMALLINT
    ,PhoneNumber CHAR(9)
    ,DOB DATE
    ,Gender CHAR(1)
    )
 
 
 Du måste lägga till en kolumn CustomerId som ska börja från 1 och varje gång en ny rad infogas i tabellen ska den öka med 1.


Lösning:

SQL Server ger oss möjligheten att lägga till en sådan kolumn. Det är call Identity . Du kan ange det initiala värdet (fröet) och ange inkrementvärde.
Låt oss säga att om vi vill lägga till CustomerId till kundtabellen med startvärde=1 och inkrementellt värde=1, kommer vårt skript att se ut som nedan
CREATE TABLE Customer (
    CustomerId INT Identity(1, 1)
    ,FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,Age SMALLINT
    ,PhoneNumber CHAR(9)
    ,DOB DATE
    ,Gender CHAR(1)
    )
 
Lägg till identitet från Design Windows: Låt oss säga att om du skapar tabeller med hjälp av designfönster, kan du lägga till identitet därifrån samt som visas nedan.

Gå till Databas, Gå till Tabeller och använd sedan högerklicka och klicka på Ny. Ett fönster öppnas och du måste ange kolumnnamn, datatyper och om kolumn tillåter Null eller inte.
När du är klar klickar du sedan på kolumnen CustomerId som vi vill skapa identitetskolumn. Aktivera identitet i fönster med kolumnegenskaper och ange Seed- och Incremental-värdet som visas nedan.

När allt är klart. tryck på spara eller Generera ändringsskript för att köras på valfri SQL Server-instans senare.
Hur man lägger till identitetskolumn till tabell i SQL Server - SQL Server / T-SQL självstudie

Videodemo :Hur man skapar tabell med Identity Column i SQL Server

  1. Hur serialiserar jag en stor graf av .NET-objekt till en SQL Server BLOB utan att skapa en stor buffert?

  2. Hur man får gårdagens datum i PostgreSQL

  3. Oracle:finns det någon logisk anledning att inte använda parallell exekvering med subqueries i SELECT-listan?

  4. Hur COALESCE() fungerar i MariaDB