Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour une colonne d'identité SQL Server ?

Comment puis-je mettre à jour une colonne d'identité SQL Server ?

DDD
DDDoriginal
2025-01-07 13:42:40739parcourir

How Can I Update an SQL Server Identity Column?

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!

Déclaration:
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