Comment faire pour supprimer incrément automatique à partir de la table dans sql server 2012
J'ai créé une table dans SQL Server 2012 avec une clé primaire auto-incrémentée. Mais comment puis-je supprimer cet incrément automatique de la propriété à partir de la table à l'aide d'une requête SQL?
stackoverflow.com/questions/8834433/...
Déposer le PK la contrainte, à la chute de la colonne, il n'y a aucun moyen de supprimer la
stackoverflow.com/questions/8230257/...
Déposer le PK la contrainte, à la chute de la colonne, il n'y a aucun moyen de supprimer la
IDENTITY
spécification d'une colonne existante ....stackoverflow.com/questions/8230257/...
OriginalL'auteur user3458120 | 2014-05-07
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de conserver les données dans la colonne puis créer une nouvelle colonne dans la table qui est du même type (mais un nom différent), copier les données de la colonne que vous voulez vous débarrasser de à la le nouveau, de la chute de l'ancienne colonne et renommez le nouveau. Exemple complet:
OriginalL'auteur Steve Pettifer
La façon la plus simple serait:
SQL Server Management Studio
.Column Properties
Fenêtre parcourir pourIdentity Specification
>Is Identity
Et mis àNo
.Table Designer
> SélectionnezGenerate Change Script...
J'Aime utiliser cette méthode pour faire des scripts, car il me permet de générer des scripts, je ne suis pas sûr de la façon de composer à partir de zéro et donc l'apprentissage et l'amélioration de mes compétences...
Meilleure réponse. un bon moyen de générer de la grande variété de scripts. tnx
J'ai "enregistrer les modifications n'est pas permis..."
Si l'Identité Est = True/Oui, vous ne pouvez pas supprimer sans supprimer la colonne
OriginalL'auteur Avi Turner
Si c'est une colonne de clé primaire, alors vous devez déposer le PK en premier. Si il y a des tables de référence, alors vous aurez à retirer ces FKs pour être en mesure de déposer le PK. Après cela, ajouter une autre colonne de même type, de la mettre à jour avec les valeurs de la colonne d'identité, supprimer la colonne d'identité, renommez la nouvelle colonne à ce que le nom de la colonne d'identité a été (avec
sp_rename
procédure), recréer le PK, recréer les FKs, vérifier si tout s'est bien passé.Je serais très prudent de le faire sur une base de données de production. S'assurer que personne ne peut accéder aux données pendant que vous faites cela.
OriginalL'auteur dean
J'ai beaucoup cherché pour trouver une solution simple pour retirer l'incrément automatique parce que je doit faire beaucoup de travail, si je baisse la colonne et de la clé primaire qui est une clé étrangère sur une autre table où je devrais supprimer les données qui sont à l'aide de mon étrangères ... enfin j'ai fini avec une solution très simple qui m'a rendu la vie facile:
OriginalL'auteur Chris Sim
SET IDENTITY_INSERT [TABLE] OFF
.. cela permet de supprimer l'incrément automatique à l'état off.., de sorte que nous devons entrer la valeur dans thatcolumnIDENTITY_INSERT
àON
pour remplacer la numérotation automatique. En outre, ce n'est pas vraiment une bonne solution, car il n'a pas supprimé l'identité spec de la colonne et peut être activée dans le futur avec potentiellement indésirables ou même de dangereuses conséquences.C'est une solution, pas une solution
OriginalL'auteur Goutham Arul