web-dev-qa-db-fra.com

Comment désactiver l'identité d'une colonne de base de données d'une table

J'ai supprimé par erreur une table dans celle-ci sur mon serveur de base de données. J'ai le même ensemble de données sur l'autre serveur.

Ce que j'ai fait est cliqué sur éditer les 100 premières lignes de la table, puis copié et collé dans l'autre table de serveur.

Mais, ici, le problème est: l'une des colonnes du tableau est une identité. Donc, je n'ai pas pu copier cette colonne ici.

J'ai besoin des mêmes valeurs d'identité car ces valeurs sont référencées dans l'application, même si je copie les données et les mets à jour, de nouvelles valeurs d'identification sont générées.

Existe-t-il un moyen de désactiver l'identité de cette colonne, de coller ces valeurs et de réactiver l'identité.

5
Avinash Kothamasu

Si je vous comprends bien, essayez celui-ci -

SET IDENTITY_INSERT <your_table> ON

INSERT INTO ... (ID, ...)

SET IDENTITY_INSERT <your_table> OFF
5
Devart

Utilisation SET IDENTITY_INSERT comme décrit ici

2
asafrob

vous pouvez utiliser la requête suivante

Select * into TestNew from Test where ID < 100

Ou vous pouvez essayer de suivre

si vous devez le faire pour une seule table et une seule fois, procédez comme suit.

Sélectionnez et cliquez avec le bouton droit sur YOUR DATABASE >> TASKS >> GENERATE SCRIPT >> une nouvelle fenêtre s'ouvrira >> CLICK NEXT >> SELECT YOUR DB >> SET SCRIPT DATA TRUE in TABLE/VIEW OPTIONS >> CHOOSE TABLES >> SELECT YOUR TABLE >> SELECT SCRIPT TO NEW QUERY WINDOW

Cela générera le script de votre table source

Remplacez simplement votre nouveau nom de table par votre ancien nom de table

0
Dhaval