Créer un champ auto-incrémenté avec SQL Server

Noter ce cours :

Si vous avez déjà utilisé MySQL, vous avez surement vu des colonnes Auto-incrémentées (disposant d'une propriété AUTOINCREMENT).

Sous SQL Server, cette propriété n'existe pas. Elle porte à la place le nom d'Identity. Elle peut (optionnellement) prendre deux paramètres :

Modifier un champ

Pour modifier un champ et lui donner les possibilités d'auto-incrément, vous pouvez utiliser SQL Server Management Studio. En étant connecté à votre base de données, affichez la table dont vous souhaitez modifier un des champs. Ce champ ne doit pas accepter les valeurs nulles, et doit être de type entier numérique (INT).

Cliquez sur le dossier Columns pour afficher la liste des colonnes disponibles, puis effectuez un clic avec le bouton droit sur le champ dont vous souhaitez ajouter l'Identity. Cliquez ensuite sur Modify (Modifier).

Auto increment - liste des champs
Liste des champs

Repérez la ligne Identity specification puis cliquez dessus pour la développer. A droite, dans la ligne (Is Identity), cliquez sur la flèche puis indiquez Yes (Oui).

Indiquez ensuite pour les deux lignes du dessous la valeur de votre choix pour l'Identity Increment et le Seed, conformément à ce que nous avons étudié plus haut.

Identity Ms SQL
Propriété Identity d'un champ

Enregistrez ensuite les changements en appuyant sur les touches CTRL + S. Si un message d'erreur vous informe que vous ne pouvez modifier la table, voyez cet article pour modifier une table avec SQL Server Management Studio.

Ajouter un champ

Vous pouvez le faire de la même manière qu'en modifiant un champ. Voyons plutôt comment le faire en SQL. La requête a effectuer est la suivante (en remplaçant les valeurs champ par le nom du champ, seed par la première valeur qui sera utilisée à l'insertion de la première ligne, et increment par le pas d'incrémentation).

ALTER TABLE nomtable ADD champ Int Identity(seed, increment)

Par exemple, si vous souhaitez ajouter un champ nommé id et auto-incrémenté de 1 commençant à 5, vous utiliserez la requête suivante :

ALTER TABLE nomtable ADD id Int Identity(5, 1)
Vous avez aimé cet article intitulé Créer un champ auto-incrémenté avec SQL Server ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels