Correction des incohérences dans la colonne d'identité de SQL Server
Votre préoccupation concernant la mise à jour de la colonne d'identité dans SQL Server est un problème courant. Bien qu'il soit crucial de comprendre que vous ne pouvez pas mettre à jour directement les colonnes d'identité comme les autres colonnes de table, SQL Server propose des solutions alternatives.
Alternatives pour modifier les colonnes d'identité :
UN. Pour les nouveaux enregistrements :
Lorsque seuls les nouveaux enregistrements doivent être mis à jour, DBCC CHECKIDENT peut être exploité. Cette commande vérifie la valeur d'identité actuelle et l'ajuste, si nécessaire.
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
B. Pour les enregistrements existants :
Pour les enregistrements existants, IDENTITY_INSERT permet d'insérer des valeurs explicites dans la colonne d'identité.
SET IDENTITY_INSERT YourTable {ON|OFF}
Exemple :
Pour mettre à jour la colonne d'identité de l'enregistrement existant 3 avec la valeur 13 :
-- Enable identity insertion SET IDENTITY_INSERT YourTable ON -- Insert copy with desired value INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue') -- Delete old record DELETE FROM YourTable WHERE ID=3 -- Disable identity insertion SET IDENTITY_INSERT YourTable OFF
Attention :
Il est important de noter que ces alternatives doivent être utilisées avec prudence, en particulier lorsqu'il existe des dépendances de clé étrangère. Un examen attentif et des tests approfondis sont nécessaires pour éviter les problèmes d'intégrité des données.
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!