sql-server - requete - sql server clé primaire auto increment




Clé primaire d'incrémentation automatique dans SQL Server Management Studio 2012 (6)

Comment puis-je auto increment la primary key dans une table de base de données SQL Server , j'ai jeté un oeil à travers le forum, mais je ne vois pas comment.

J'ai regardé les propriétés, mais je ne vois pas une option, j'ai vu une réponse où vous allez à la propriété de spécification d' Identity et réglez-la sur yes et définissez l' Identity increment à 1, mais cette section est grisée et je peux Ne changez pas le oui.

Il doit y avoir un moyen simple de le faire mais je ne le trouve pas.


Assurez-vous que le type de données de la colonne Clé est int , puis définissez l'identité manuellement, comme le montre l'image

Ou exécutez simplement ce code

-- ID is the name of the  [to be] identity column
ALTER TABLE [yourTable] DROP COLUMN ID 
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)

le code sera exécuté, si ID n'est pas la seule colonne de la table

référence de l'image fifo's


Développez votre base de données, développez votre tableau, cliquez droit sur votre tableau et sélectionnez design dans la liste déroulante.

Maintenant allez propriétés de la colonne ci-dessous, faites défiler vers le bas et trouver les spécifications d'identité , développez-le et vous trouverez Is Identity rendre Oui. Maintenant, choisissez Identity Increment juste en dessous de la valeur que vous voulez incrémenter.


Lorsque vous créez la table, vous pouvez créer une colonne IDENTITY comme suit:

CREATE TABLE (
  ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  ...
);

La propriété IDENTITY va automatiquement incrémenter la colonne du numéro 1. (Notez que le type de données de la colonne doit être un entier.) Si vous voulez ajouter ceci à une colonne existante, utilisez une commande ALTER TABLE .

Modifier:
Testé un peu, et je ne peux pas trouver un moyen de modifier les propriétés d'identité via la fenêtre Propriétés de la colonne pour différentes tables. Je suppose que si vous voulez faire une colonne une colonne d'identité, vous devez utiliser une commande ALTER TABLE .


Lorsque vous utilisez Type de données: int, vous pouvez sélectionner la ligne que vous souhaitez activer automatiquement et accéder à la balise Propriétés de la colonne. Là, vous pouvez définir l'identité à «oui». La valeur de départ de l'auto-incrémentation peut également être modifiée ici. J'espère pouvoir aider;)


Si la table est déjà remplie, il n'est pas possible de modifier une colonne en colonne IDENTITY ou de la convertir en colonne non IDENTITY. Vous devez exporter toutes les données, puis vous pouvez modifier le type de colonne en IDENTITY ou vice versa, puis réimporter les données. Je sais que c'est un processus douloureux mais je crois qu'il n'y a pas d'autre alternative que d'utiliser la séquence comme mentionné dans ce post.


Soyez prudent si vous voulez que les éléments d'ID soient contigus ou non. Comme l'identifiant SQLSERVER peut sauter de 1000.

Examinons: avant le redémarrage ID = 11 après le redémarrage, vous insérez une nouvelle ligne dans la table, puis l'ID sera 1012.







identity