web-dev-qa-db-fra.com

Index AutoIncrement pour Microsoft SQL Server 2008 R2

J'ai créé une nouvelle table dans SQL Server 2008 R2 et j'aimerais que l'index soit sur AutoIncrement. Comment faire ça? Il n'y a pas de type de données d'identité; J'ai sélectionné int

16
Magnetic_dud

Dans SQL Server, ce n'est pas un type de données séparé ("autocrament") - mais vous peut Définir une colonne INT pour être un IDENTITY.

Comment créez-vous votre table - Visual Designer ou T-SQL Script ??

Dans T-SQL, vous utiliseriez:

CREATE TABLE dbo.MyTable(ID INT IDENTITY(1,1) ......

et dans le concepteur de table visuelle, vous devez vérifier:

alt text

C'est une option pour une colonne de type INT - vous pouvez définir la graine (valeur de départ) et l'incrément - généralement les deux sont définies sur 1.

57
marc_s

Si votre définition de table est comme ça,

....,
@id int,
....

changez-le à,

....
@id int identity(1,1),
....

Cela créera une colonne d'identité qui commence une pièce d'identité avec 1 et continue d'augmenter par un (i.e. Étape) car chaque enregistrement de la table est inséré.