À l'aide de l'interface graphique de SQL Express Management Studio 2008 (sans codage), comment puis-je incrémenter une clé primaire?
Laissez-moi vous expliquer: il y a une table qui a une colonne nommée "id" et les éléments de cette colonne sont définis pour être des clés primaires. Je veux rendre cette colonne auto-incrémentée, mais comment?
À votre santé
Ce qui suit n’est pas une façon de le faire dans l’interface graphique, mais vous pouvez obtenir une auto-incrémentation simplement en utilisant le type de données IDENTITY (début, incrément):
CREATE TABLE "dbo"."TableName"
(
id int IDENTITY(1,1) PRIMARY KEY NOT NULL,
name varchar(20),
);
l'instruction insert devrait lister toutes les colonnes sauf la colonne id (elle sera remplie avec une valeur auto-incrémentée):
INSERT INTO "dbo"."TableName" (name) VALUES ('alpha');
INSERT INTO "dbo"."TableName" (name) VALUES ('beta');
et le résultat de
SELECT id, name FROM "dbo"."TableName";
sera
id name
--------------------------
1 alpha
2 beta
Cliquez avec le bouton droit de la souris sur la table dans SSMS, sélectionnez-la, puis cliquez sur la colonne id. Dans les propriétés, définissez l'identité de manière à ce qu'elle soit à l'origine @, par exemple. 1 et d’avoir un incrément de 1 - sauvegarder et vous avez terminé.
pour ceux qui ont le problème ne vous permettent toujours pas d'économiser une fois que cela a été modifié conformément à la réponse ci-dessous, procédez comme suit:
outils -> options -> concepteurs -> Concepteurs de tables et de bases de données -> décochez la case "empêcher l'enregistrement des modifications qui nécessitent une re-création de table" -> OK
et essayez de sauver comme cela devrait fonctionner maintenant
Je n'ai pas Express Management Studio sur cette machine, je suis donc basé sur la mémoire. Je pense que vous devez définir la colonne comme "IDENTITY", et il devrait y avoir un [+] sous propriétés où vous pouvez développer et définir l'auto-incrémentation à true.
Je pense qu'il y a un moyen de le faire au stade de la définition comme celui-ci
create table employee (id int identité, nom varchar (50), clé primaire (id)). car les valeurs existantes pourraient avoir besoin d'être modifiées)