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)
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}
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
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
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!