2017-09-11 22 views
0

J'apprends le SQL et je suis complètement nouveau dans ce monde. Ce que j'ai appris/lu sur l'utilisation de l'identité est: il est utilisé pour créer une colonne d'identité avec Seed et incrémenter la valeur ~ Identity (Seed, increment). Cependant en passant par une base de données exemple disponibles sur le net, je suis tombé sur cette table script de création:Utilisation d'IDENTITY lors de la création de la table

create table Customer 
(
    Id     int     identity, 
    FirstName   nvarchar(40)   not null, 
    LastName    nvarchar(40)   not null, 
    City     nvarchar(40)   null, 
    Country    nvarchar(40)   null, 
    Phone    nvarchar(20)   null, 
    constraint PK_CUSTOMER primary key (Id) 
) 
go 

J'ai essayé de créer table avec ce code et il a réussi. Est-ce que quelqu'un peut expliquer pourquoi IDENTITY ici n'a pas de valeurs de départ et d'incrémentation? Quand devrions-nous l'utiliser comme ceci (sans les valeurs de graine et d'incrément)?

TIA

+1

IDENTITY a une valeur de départ et d'incrémentation par défaut de 1 respectivement, –

+0

En d'autres termes, le serveur SQL fait des choses pour vous. –

Répondre

2

Lorsque vous utilisez -> Id identité int

Il est équivalent à ---> identité Id int (1,1)

La première valeur sera insérée dans table avec Id = 1 et incrémentée de 1 pour la rangée suivante. C'est donc la valeur par défaut pour l'identité si rien n'est spécifié. Dans le cas où vous voulez démarrer votre ID avec un certain nombre, par exemple vous voulez créer une colonne customerId qui doit avoir au moins 5 chiffres que vous devez définir la colonne comme ---> CustomerId int identity (10000, 1

+0

Merci pour la réponse .ce fut utile. – Manni