Maison > base de données > tutoriel mysql > Comment puis-je modifier les valeurs des colonnes d'identité dans SQL Server ?

Comment puis-je modifier les valeurs des colonnes d'identité dans SQL Server ?

Patricia Arquette
Libérer: 2025-01-07 14:03:41
original
819 Les gens l'ont consulté

How Can I Modify Identity Column Values in SQL Server?

Mise à jour des colonnes d'identité dans SQL Server

Pour ceux qui cherchent à modifier la colonne d'identité dans SQL Server, il est crucial de comprendre que les mises à jour directes sont pas autorisé. Contrairement aux colonnes classiques, les colonnes d'identité ne peuvent pas être simplement mises à jour à l'aide d'une instruction de mise à jour.

Alternatives aux mises à jour des colonnes d'identité

Bien que la mise à jour directe d'une colonne d'identité soit impossible, il existe des alternatives approches pour obtenir des résultats similaires :

Mise à jour des valeurs d'identité pour les nouveaux Enregistrements

Pour garantir que les nouveaux enregistrements commencent par une valeur d'identité spécifique, utilisez DBCC CHECKIDENT. Cette commande vérifie la valeur d'identité actuelle et la réinitialise si nécessaire.

DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
Copier après la connexion

Mise à jour des valeurs d'identité pour les enregistrements existants

Pour mettre à jour de manière sélective les valeurs d'identité des enregistrements existants, utilisez IDENTITY_INSERT. Cette fonctionnalité permet l'insertion explicite de valeurs dans la colonne d'identité.

SET IDENTITY_INSERT YourTable {ON|OFF}
Copier après la connexion

Exemple

Pour insérer un nouvel enregistrement avec une valeur d'identité spécifique :

-- Enable identity insert
SET IDENTITY_INSERT YourTable ON

-- Insert record
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')

-- Disable identity insert
SET IDENTITY_INSERT YourTable OFF
Copier après la connexion

Pour mettre à jour un enregistrement existant :

-- Delete old record
DELETE FROM YourTable WHERE ID=3

-- Insert record with new identity value
SET IDENTITY_INSERT YourTable ON
INSERT INTO YourTable(ID, otherCol) VALUES(13,'newValue')
SET IDENTITY_INSERT YourTable OFF
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal