Alter table colonne de clé primaire et de l'identité
J'ai le tableau créé et voulez modifier la table. Je veux ajouter une clé primaire et identity(1,1)
.
Que je peux appliquer de la clé primaire, mais l'application de l'identité donne une erreur. Est quelque chose qui manque?
ALTER TABLE MyTable ADD PRIMARY KEY (Id)
Comment puis-je ajouter l'identité aussi bien avec une clé primaire?
OriginalL'auteur k-s | 2012-08-10
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas modifier la définition d'un existant colonne dans la base de données, ajouter le
IDENTITY
propriété (ni pour l'enlever). Vous devez créer un nouveau colonne avec leIDENTITY
propriété:Malheureusement, vous êtes pas en mesure d'attribuer les anciennes valeurs d'ID de cette nouvelle colonne. Si vous souhaitez affecter les valeurs d'ID, puis laissez
IDENTITY
prendre le dessus, vous seriez mieux de créer une nouvelle table avec la structure que vous souhaitez, puis de l'importation de données à partir de l'ancienne table (vous pouvez utiliserIDENTITY_INSERT
pour affecter des valeurs à laIDENTITY
colonne).Vous serait alors abandonner la vieille table et renommez la nouvelle table, si nécessaire.
Vous pouvez faire cela comme un métadonnées uniquement modifier
si le Clé Primaire est voulu aussi,
ALTER TABLE LookupStates ADD Id int IDENTITY(1,1) PRIMARY KEY not null
N'est-ce pas l'identité de la définition de PK dans MSSQL?
non, ne pas confondre les concepts distincts. Une clé primaire est
one or more columns by which each row may be uniquely identified
.identity
est un moyen pour appliquer une valeur unique par ligne dans une seule colonne. L'un peut être utilisé pour créer l'autre, mais ils sont pas la même chose. Généralement considéré comme un substitut, et si vous n'avez pas aussi ont une clé naturelle, alors vous n'êtes pas de la modélisation mais au hasard des gammes de faits.OriginalL'auteur Damien_The_Unbeliever