Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 12402|Répondre: 3

[Source] Mettre à jour la méthode de fonctionnement de la colonne ID auto-croissante dans la base de données SQL Server

[Copié le lien]
Publié sur 23/08/2018 12:20:44 | | | |
Dans le développement quotidien de SQL Server, la colonne identité du type Identité est souvent utilisée comme le nombre auto-croissant d’une structure de table. Par exemple, numéro d’article, numéro de série de registre, etc. Les références à des colonnes identifiées auto-croissantes facilitent grandement le développement de programmes de bases de données, mais parfois ce type de champ tenace peut aussi poser des problèmes.

1. Modifier les valeurs des champs de la colonne d’identification :

Parfois, pour implémenter une fonction, il est nécessaire de modifier la valeur d’un champ de type Identity auto-croissant, mais cette opération n’est pas autorisée par défaut en raison du type de colonne identité. Par exemple, si 5 données sont ajoutées normalement dans la base de données, et que 2 sont supprimées à ce moment-là, alors si les données sont ajoutées à nouveau, la colonne d’identification auto-croissante sera automatiquement attribuée à une valeur de 6, mais si vous souhaitez attribuer une valeur de 3 lors de l’insertion de données, ce n’est pas autorisé par défaut. Si vous voulez changer la valeur de ce champ, vous pouvez complètement contrôler l’insertion de la valeur du champ d’identification, il y a encore des méthodes, haha.

METTRE IDENTITY_INSERT /[TABLE/] [ON| OFF]
En utilisant l’instruction ci-dessus, vous pouvez facilement contrôler si une colonne d’identifiant auto-croissante dans un tableau va automatiquement croître, c’est-à-dire si vous êtes autorisé à spécifier manuellement la valeur du champ de colonne d’identifiant lors de l’insertion d’un enregistrement. Si spécifié comme on, vous pouvez spécifier la valeur du champ de colonne d’identification lors de l’insertion, ce qui ne fait pas croître automatiquement la valeur assignée. Bien sûr, si vous l’utilisez, vous devez utiliser cette instruction pour désactiver l’interrupteur vers l’état par défaut, sinon le champ n’augmentera pas automatiquement la valeur assignée lors de l’insertion prochaine des données.

2. Réinitialiser la valeur du champ de la colonne d’identification :

Lorsqu’une partie de l’enregistrement de données est supprimée, et que le nouvel enregistrement de données est ajouté plus tard, la valeur de la colonne d’identification aura un long intervalle d’inactivité, ce qui paraît très désagréable. Même si vous supprimez tous les enregistrements dans la table, la valeur de la colonne d’identité continuera d’augmenter automatiquement et de croître sans fin, au lieu de croître à partir de zéro. La valeur de la graine du champ auto-croissant peut être réinitialisée en utilisant l’instruction suivante :

DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1])
L’instruction ci-dessus forcera la valeur de départ de la table spécifiée à être réinitialisée à 1. Cependant, si vous ne souhaitez pas réinitialiser la graine à 1, vous pouvez remplacer le troisième paramètre par la valeur de la graine que vous souhaitez utiliser. Si vous voulez connaître la seed actuelle au lieu de réinitialiser celle identifiée, vous devez utiliser NORESEED au lieu de définir le troisième paramètre.




Précédent:Colonnes à croissance automatique de SQL Server 2012 avec problèmes de saut de valeur
Prochain:Windows ne démarre pas le service Redis, erreur 1067 : Le processus se termine de manière inattendue.
 Propriétaire| Publié sur 23/08/2018 12:57:08 |
1. Lorsque toutes les données du tableau sont supprimées, elles seront automatiquement augmentées à zéro. ( tronquer le tableau Nom du tableau )

2. Ne pas supprimer les données de la table, réinitialiser directement la valeur de la croissance automatique. ( DBCC CHECKIDENT ('TableName', RESEED, 0)
 Propriétaire| Publié sur 23/08/2018 13:01:32 |
 Propriétaire| Publié sur 13/02/2019 09:59:15 |
Voyez les valeurs actuelles des colonnes auto-incrémentables dans un tableau :
    VÉRIFICATEUR DBCC (NameTable)

Modifiez la valeur actuelle d’une colonne auto-incrémentante dans un tableau :
    VÉRIFICABILITÉ DBCC (NameTable, RESEED, value)
    RESEED n’est pas un nom de colonne, il est écrit de manière fixe.


Par exemple, si je veux changer la valeur actuelle de la colonne auto-incrémentante dans la table de division à 30, je peux utiliser la commande suivante
DVC CHECKIDENT (Division, RESEED, 30)
Puis utilisez
CONTRÔLEUR DE LA DBC (Division)
Vous pouvez voir que la valeur actuelle est de 30
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com