Ce guide vous apprendra comment réinitialiser une colonne d'identité dans SQL Server, vous permettant de réinitialiser les valeurs mal configurées dans une colonne d'identité.
Identité SQL Server
Pour ajouter une colonne d'identité à une table dans SQL Server, utilisez la requête d'identité. La syntaxe de la requête d'identité dans SQL Server est comme indiqué:
Identity (Seed_value, incrément_interval);La requête d'identité accepte deux arguments:
Par défaut, les valeurs de graines et d'incrément sont définies sur 1. Par conséquent, le premier enregistrement du tableau a une valeur de 1, et chaque enregistrement ajouté au tableau, ajouté par 1.
Réinitialiser la colonne d'identité dans SQL Server
Laissez-nous maintenant savoir comment réinitialiser une colonne d'identité dans SQL Server et pourquoi vous devrez peut-être le faire.
Commencez par créer un exemple de table et insérer des données comme indiqué dans les requêtes ci-dessous:
Créer l'inventaire de table (Nous pouvons maintenant interroger les données stockées dans le tableau comme:
Sélectionnez * dans l'inventaire;Les enregistrements résultants sont comme indiqué:
Remarquez la colonne ID; Bien que nous n'ayons pas spécifié les valeurs dans notre instruction d'insertion, la fonction d'identité génère automatiquement la valeur à partir de 1 et continue d'augmenter par un 1 pour chaque enregistrement que nous insérons.
Pourquoi réinitialiser la colonne d'identité?
Vous pouvez vous demander si la colonne d'identité contient des valeurs générées automatiquement dans un ordre logique spécifié, pourquoi dois-je réinitialiser la colonne d'identité?
Regardez ce qui arrive aux données lorsque nous supprimons un enregistrement du tableau:
Supprimer de l'inventaire où la quantité = 7;La requête d'exemple ci-dessus devrait supprimer un enregistrement où la quantité est égale à 7.
Le tableau contient désormais les enregistrements:
Sélectionnez * dans l'inventaire;Dans les colonnes ID, nous avons les valeurs de 1 à 6. Cependant, l'ID de 4 manque. Cela se produit lorsque nous dépassons un enregistrement de la table.
Pour résoudre ce problème, nous devons réinitialiser la colonne d'identité.
Comment réinitialiser la colonne d'identité
Pour réinitialiser la colonne d'identité dans SQL Server, nous utilisons la procédure DBCC Checkindent.
La syntaxe de la procédure est comme:
Dbcc checkident ('table_name', réensemble, new_value);Cependant, si nous réinitialisons la colonne d'identité et essayons d'insérer des données, SQL Server renvoie une erreur. Pour résoudre ceci:
Un exemple de requête implémentant les étapes ci-dessus est comme indiqué:
Sélectionnez * dans new_inventory dans l'inventaire;Une fois les requêtes exécutées avec succès, nous pouvons vérifier les données de la table d'inventaire comme:
Sélectionnez * dans l'inventaire;Les enregistrements de table résultants sont comme indiqué:
Ici, la colonne ID est dans le bon ordre.
Fermeture
Ce guide couvre les bases de la fonction d'identité dans SQL Server et comment réinitialiser une colonne d'identité en cas d'erreurs.